void QianWang() { //如果当前玩家正在采集或者送信 读进度条就返回 TaskOperation.Single().clearEvent(); if (taskData.taskType == TaskClass.Reward) { if (Singleton <SceneManage> .Instance.Current == EnumSceneID.UI_MajorCity01 || Singleton <SceneManage> .Instance.Current == EnumSceneID.LGhuangyuan) { //UIActivities.Instance.ChangeIndex(1); //Control.ShowGUI(GameLibrary.UIActivities); EveryTaskData data = playerData.GetInstance() .taskDataList.itList.Find( x => x.state == (int)TaskProgress.Accept);//|| x.state == (int)TaskProgress.Complete if (data != null && data.state == (int)TaskProgress.Accept) { UIActivitiesManager.Instance.RewardTaskOperate(data); } } if (Singleton <SceneManage> .Instance.Current == EnumSceneID.UI_MajorCity01) { EveryTaskData data = playerData.GetInstance() .taskDataList.itList.Find( x => x.state == (int)TaskProgress.Complete);//|| x.state == (int)TaskProgress.Complete if (data != null && data.state == (int)TaskProgress.Complete) { Control.ShowGUI(UIPanleID.UIActivities, EnumOpenUIType.OpenNewCloseOld, false, 1); } } if (Singleton <SceneManage> .Instance.Current == EnumSceneID.LGhuangyuan) { EveryTaskData data = playerData.GetInstance() .taskDataList.itList.Find( x => x.state == (int)TaskProgress.Complete);//|| x.state == (int)TaskProgress.Complete if (data != null && data.state == (int)TaskProgress.Complete) { Control.ShowGUI(UIPanleID.UITooltips, EnumOpenUIType.DefaultUIOrSecond, false, "请返回主城,提交悬赏任务"); } } } else { if (taskData.taskItem.tasknode.Level <= playerData.GetInstance().selfData.level) { //追踪的时候需要掉接口 TaskOperation.Single().SetCurrentTaskItem(taskItem); } else { Control.ShowGUI(UIPanleID.UITooltips, EnumOpenUIType.DefaultUIOrSecond, false, "需战队等级达到" + taskData.taskItem.tasknode.Level + "级才可领取"); } } }
/// <summary> /// 用于任务追踪执行操作 /// </summary> /// <param name="vo"></param> public void RewardTaskOperate(EveryTaskData vo) { switch ((TaskType)vo.type) { case TaskType.Dialogue: break; case TaskType.PassCopy: break; case TaskType.Collect: TaskAutoTraceManager._instance.MoveToTargetPosition(vo.taskTarget, TaskMoveTarget.MoveToCollectPos, vo.mapId); break; case TaskType.UpgradeSkillLv: break; case TaskType.UpgradeHeroEquipLv: break; case TaskType.KillMonster: TaskAutoTraceManager._instance.MoveToTargetPosition(vo.taskTarget, TaskMoveTarget.MoveToMonsterPos, vo.mapId); break; case TaskType.KillDropSth: break; case TaskType.knapsackItem: break; case TaskType.NamedPComplete: //TaskAutoTraceManager._instance.MoveToTargetPosition(vo.taskTarget, TaskMoveTarget.MoveToNpc, vo.mapId); TaskOperation.Single().MoveToNpc((int)vo.taskTarget, TaskOperation.MoveToNpcType.RewardSendLetter); break; case TaskType.KillTempMonster: break; case TaskType.KillPerson: break; } }
private void EnterBtn() { if (enterBtn.text == "接取") { if (playerData.GetInstance().taskDataList.getCount > 0) { Dictionary <string, object> newpacket = new Dictionary <string, object>(); newpacket.Add("arg1", this.index); newpacket.Add("arg2", (int)TaskProgress.NoAccept);//1领取奖励 Singleton <Notification> .Instance.Send(MessageID.common_offer_reward_mission_operation_req, newpacket); } else { Control.ShowGUI(UIPanleID.UITooltips, EnumOpenUIType.DefaultUIOrSecond, false, "今日悬赏任务已全部完成"); } } else if (enterBtn.text == "前往") { switch ((TaskType)vo.type) { case TaskType.Dialogue: break; case TaskType.PassCopy: break; case TaskType.Collect: TaskAutoTraceManager._instance.MoveToTargetPosition(vo.taskTarget, TaskMoveTarget.MoveToCollectPos, vo.mapId); break; case TaskType.UpgradeSkillLv: break; case TaskType.UpgradeHeroEquipLv: break; case TaskType.KillMonster: TaskAutoTraceManager._instance.MoveToTargetPosition(vo.taskTarget, TaskMoveTarget.MoveToMonsterPos, vo.mapId); break; case TaskType.KillDropSth: break; case TaskType.knapsackItem: break; case TaskType.NamedPComplete: //TaskAutoTraceManager._instance.MoveToTargetPosition(vo.taskTarget, TaskMoveTarget.MoveToNpc, vo.mapId); TaskOperation.Single().MoveToNpc((int)vo.taskTarget, TaskOperation.MoveToNpcType.RewardSendLetter); break; case TaskType.KillTempMonster: break; case TaskType.KillPerson: break; } Control.HideGUI(); } }
//public delegate void ReachplaceNpcEvent(int npcid); //private ReachplaceNpcEvent reachplaceNpcEvent; //点击NPC触发 void OnMouseDown() { if ((UICamera.selectedObject != null && UICamera.selectedObject.transform.name == "UI Root") || (UICamera.hoveredObject != null && UICamera.hoveredObject.transform.name == "UI Root") || (UICamera.selectedObject != null && UICamera.selectedObject.transform.name == "UI Root(Clone)") || (UICamera.hoveredObject != null && UICamera.hoveredObject.transform.name == "UI Root(Clone)")) { if (!UICamera.isOverUI) { //点击npc显示光圈 if (quanEffect != null) { quanEffect.gameObject.SetActive(true); Vector3 tempV = transform.position; quanEffect.position = tempV; } //如果当前npc上没有任务 就进行闲聊 不触发点击npc协议 if (!TaskManager.NpcTaskStateDic.ContainsKey(NPCID)) { TaskOperation.Single().MoveToNpc(NPCID, TaskOperation.MoveToNpcType.Smalltalk); return; } //设置当前操作npc TaskOperation.Single().taskNpc = this; TaskOperation.Single().currentTaskNpcID = NPCID; if (TaskManager.NpcTaskListDic.ContainsKey(NPCID)) { //暂时一个npc下有一个可接收的任务 或者 可完成的任务 int taskID = 0; foreach (int key in TaskManager.NpcTaskListDic[NPCID].Keys) { taskID = key; } //npc上有任务 但是任务状态是未完成 也进行闲聊 if (TaskManager.NpcTaskListDic[NPCID][taskID].taskProgress == TaskProgress.Accept) { TaskOperation.Single().MoveToNpc(NPCID, TaskOperation.MoveToNpcType.Smalltalk); return; } if (FSDataNodeTable <TaskDataNode> .GetSingleton().DataNodeList.ContainsKey(taskID)) { if (FSDataNodeTable <TaskDataNode> .GetSingleton().DataNodeList[taskID].Level > playerData.GetInstance().selfData.level) { Control.ShowGUI(UIPanleID.UITooltips, EnumOpenUIType.DefaultUIOrSecond, false, "需战队等级达到" + FSDataNodeTable <TaskDataNode> .GetSingleton().DataNodeList[taskID].Level + "级才可领取"); return; } } TaskOperation.Single().MoveToNpc(NPCID, TaskOperation.MoveToNpcType.JuQingTaskZhuiZhong); //ClientSendDataMgr.GetSingle().GetTaskSend().ClickNpc(NPCID, taskID, TaskManager.NpcTaskListDic[NPCID][taskID].parm0); } //在此判定是否该NPC身上是否有任务 如果没有不进行任何操作 //List<TaskItem> tasklist = TaskManager.Single().GetNPCTaskList(NPCID); //if (tasklist.Count > 0) //{ // TaskOperation.Single().MoveToNpc(NPCID, TaskOperation.MoveToNpcType.OpenTaskList); //} //else//闲聊 //{ // TaskOperation.Single().MoveToNpc(NPCID, TaskOperation.MoveToNpcType.Smalltalk); //} } } }
/// <summary> /// 打开对话框 /// </summary> /// <param name="packet"></param> /// <returns></returns> public bool OpenDialogUI(CReadPacket packet) { Debug.Log("OpenDialogUIResult"); Dictionary <string, object> data = packet.data; int resolt = int.Parse(data["ret"].ToString()); if (resolt == 0) { bool isoperation = false; DialogItem dialogitem = new DialogItem(); if (data.ContainsKey("title")) { if (data["title"] == null) { dialogitem.title = ""; } else { dialogitem.title = data["title"].ToString(); } } if (data.ContainsKey("disc")) { dialogitem.disc = data["disc"].ToString(); } if (data.ContainsKey("opt1")) { isoperation = true; dialogitem.opt[0] = data["opt1"].ToString(); dialogitem.opt[1] = data["opt2"].ToString(); dialogitem.opt[2] = data["opt3"].ToString(); dialogitem.opt[3] = data["opt4"].ToString(); if (string.IsNullOrEmpty(dialogitem.opt[0]) && string.IsNullOrEmpty(dialogitem.opt[1]) && string.IsNullOrEmpty(dialogitem.opt[2]) && string.IsNullOrEmpty(dialogitem.opt[3])) { isoperation = false; } } //if (TaskManager.Single().isAcceptTask) //{ // TaskEffectManager.instance.ShowTaskEffect(TaskEffectType.AcceptTask); //} dialogitem.msId = int.Parse(data["msId"].ToString()); dialogitem.scrId = int.Parse(data["scrId"].ToString()); dialogitem.user[0] = int.Parse(data["user1"].ToString());//如果是5010 5020的话 表示闲聊 dialogitem.user[1] = int.Parse(data["user2"].ToString()); dialogitem.user[2] = int.Parse(data["user3"].ToString()); TaskManager.Single().CurrentShowDialogItem = dialogitem; if (isoperation) { //当前npcID 和 移动到npc要触发哪个类型事件 //TaskOperation.Single().MoveToNpc(TaskOperation.Single().taskNpc.NPCID, TaskOperation.MoveToNpcType.OpenTaskList); TaskOperation.Single().MoveToNpc(TaskOperation.Single().currentTaskNpcID, TaskOperation.MoveToNpcType.OpenTaskList); } else { if (dialogitem.user[0] == 5010 || dialogitem.user[0] == 5020) { //TaskOperation.Single().MoveToNpc(TaskOperation.Single().taskNpc.NPCID, TaskOperation.MoveToNpcType.Smalltalk); TaskOperation.Single().MoveToNpc(TaskOperation.Single().currentTaskNpcID, TaskOperation.MoveToNpcType.Smalltalk); } else { //if (TaskOperation.Single() != null && TaskOperation.Single().taskNpc != null) //TaskOperation.Single().MoveToNpc(TaskOperation.Single().taskNpc.NPCID, TaskOperation.MoveToNpcType.OpenChatDialog); if (TaskOperation.Single() != null && TaskOperation.Single().currentTaskNpcID != 0) { TaskOperation.Single().MoveToNpc(TaskOperation.Single().currentTaskNpcID, TaskOperation.MoveToNpcType.OpenChatDialog); } } } } else { Debug.Log(data["desc"].ToString()); } return(true); }