Exemplo n.º 1
0
 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 + "级才可领取");
         }
     }
 }
Exemplo n.º 2
0
    /// <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;
        }
    }
Exemplo n.º 3
0
    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();
        }
    }
Exemplo n.º 4
0
    //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);
                //}
            }
        }
    }
Exemplo n.º 5
0
    /// <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);
    }