Esempio n. 1
0
 protected void CommitTalk()
 {
     if (TaskDescUI.OpenByNpc > 0)
     {
         LinkNavigationManager.OpenTaskDescUI(this.Task.taskId, false, false);
     }
 }
Esempio n. 2
0
    public bool Execute(bool isFastNav = false, bool isFromClick = false)
    {
        if (this.IsActive)
        {
            switch (this.Task.status)
            {
            case Package.Task.TaskStatus.TaskCanAccept:
                if (MainTaskManager.Instance.HasNpcId(this.Data.linkNpc1))
                {
                    TaskDescUI.OpenByNpc = this.Data.linkNpc1;
                    this.AcceptBefore();
                }
                else if (MainTaskManager.Instance.GoToNPC(this.Data.linkNpc1, this.Task.taskId, isFastNav, 1f))
                {
                    this.OnEnterNPC(this.Data.linkNpc1);
                }
                return(true);

            case Package.Task.TaskStatus.TaskReceived:
                TaskProgressUI.OpenByTaskId = this.Task.taskId;
                this.StartExecute(isFastNav);
                return(true);

            case Package.Task.TaskStatus.WaitingToClaimPrize:
                if (this.Data.quickComplete == 1)
                {
                    if (this.Data.quickAchieve != 1)
                    {
                        LinkNavigationManager.OpenTaskDescUI(this.Task.taskId, isFromClick, false);
                    }
                }
                else if (MainTaskManager.Instance.HasNpcId(this.Data.linkNpc2))
                {
                    TaskDescUI.OpenByNpc = this.Data.linkNpc2;
                    this.CommitBefore();
                }
                else if (MainTaskManager.Instance.GoToNPC(this.Data.linkNpc2, this.Task.taskId, isFastNav, 1f))
                {
                    this.OnEnterNPC(this.Data.linkNpc2);
                }
                return(true);
            }
        }
        else if (isFromClick && this.Task.taskType == Package.Task.TaskType.MainTask)
        {
            Package.Task.TaskStatus status = this.Task.status;
            if (status == Package.Task.TaskStatus.TaskNotOpen)
            {
                if (MainTaskManager.Instance.HasUpgradeTips(this.Task))
                {
                    MainTaskManager.Instance.ShowUpgradeTips();
                }
                else if (MainTaskManager.Instance.DelayExecuteTaskId == 0)
                {
                    UIManagerControl.Instance.ShowToastText(GameDataUtils.GetChineseContent(310008, false));
                }
                return(false);
            }
            if (status == Package.Task.TaskStatus.TaskFinished)
            {
                if (MainTaskManager.Instance.DelayExecuteTaskId == 0)
                {
                    UIManagerControl.Instance.ShowToastText(GameDataUtils.GetChineseContent(310009, false));
                }
                return(false);
            }
        }
        else
        {
            Debug.Log("任务[" + this.Task.taskId + "]已失活!!! by Execute");
        }
        return(false);
    }
Esempio n. 3
0
 public virtual void AcceptBefore()
 {
     LinkNavigationManager.OpenTaskDescUI(this.Task.taskId, false, false);
 }
Esempio n. 4
0
    private void OnClickTask(string type, MainTaskItem item)
    {
        if (MainTaskManager.Instance.ClickLock)
        {
            Debug.Log("等待任务返回,点慢些!!!");
            return;
        }
        if (item == null || item.Task == null || item.Task.Task == null)
        {
            Debug.Log("后端数据已经被清!!!");
            return;
        }
        BaseTask baseTask = null;

        if (MainTaskManager.Instance.GetTask(item.Task.Task.taskId, out baseTask, true) && type != null)
        {
            if (MainTaskUI.< > f__switch$map17 == null)
            {
                Dictionary <string, int> dictionary = new Dictionary <string, int>(4);
                dictionary.Add("ClickDetail", 0);
                dictionary.Add("ClickDesc", 1);
                dictionary.Add("ClickShoe", 2);
                dictionary.Add("ClickTips", 3);
                MainTaskUI.< > f__switch$map17 = dictionary;
            }
            int num;
            if (MainTaskUI.< > f__switch$map17.TryGetValue(type, ref num))
            {
                switch (num)
                {
                case 0:
                    if (baseTask.Task.status == Package.Task.TaskStatus.TaskReceived || baseTask.Task.status == Package.Task.TaskStatus.WaitingToClaimPrize)
                    {
                        LinkNavigationManager.OpenTaskDescUI(baseTask.Task.taskId, true, false);
                    }
                    break;

                case 1:
                    if (!this.IsExecutingTask(baseTask.Task.taskId))
                    {
                        if (baseTask.Task.taskType == Package.Task.TaskType.ChangeCareer && baseTask.Task.status == Package.Task.TaskStatus.TaskFinished && !baseTask.hasNextTask)
                        {
                            LinkNavigationManager.OpenChangeCareerUI();
                        }
                        else
                        {
                            MainTaskManager.Instance.ExecuteTask(baseTask, false, true);
                        }
                    }
                    break;

                case 2:
                {
                    int num2 = Mathf.Max(VIPPrivilegeManager.Instance.GetVipTimesByType(16) - CityManager.Instance.UsedFlyShoeFreeTime, 0);
                    if (num2 > 0 || BackpackManager.Instance.OnGetGoodCount(37001) > 0L)
                    {
                        this.FastExecuteTask(baseTask);
                    }
                    else
                    {
                        LinkNavigationManager.ItemNotEnoughToLink(37001, true, null, true);
                    }
                    break;
                }

                case 3:
                    if (MainTaskManager.Instance.HasUpgradeTips(item.Task.Task))
                    {
                    }
                    break;
                }
            }
        }
    }