Example #1
0
        public void OnEnter()
        {
            taskData = ConfigReader.GetIGuideInfo(taskId);
            if (iParent.GetIGuideTaskData().IsTriggerTask)
            {
                effect = new IGuideTriggerTaskEffect(iParent.GetIGuideTaskData( ), taskId);
            }
            else
            {
                effect = new IGuideTaskEffect(iParent.GetIGuideTaskData(), taskId);
            }

            EventCenter.AddListener <CEvent>((EGameEvent)taskData.EndTaskEvent, OnTrigger);
            IGuideTaskManager.Instance().SendTaskStart((EGameEvent)taskData.EndTaskEvent, (EGameEvent)taskData.StartTaskEvent);
        }
Example #2
0
        void OnTrigger(CEvent eve)
        {
            TaskState tag = (TaskState)eve.GetParam("TaskState");

            switch (tag)
            {
            case TaskState.TaskEnd:
                effect.OnEnd();
                EventCenter.RemoveListener <CEvent>((EGameEvent)taskData.EndTaskEvent, OnTrigger);
                if (taskData.IsMask)
                {
                    effect.ShowMark(false, null);
                }
                iParent.CheckNextTask();
                SkipNewsGuideEnd();
                effect = null;
                break;

            case TaskState.TaskShow:
                //if (ConnectMsg.Instance == null)
            {
                if (taskData.TaskId == newsGuideTaskId && objSkipNewsGuide != null)
                {
                    return;
                }
                effect.OnEnter();
            }
            break;

            case TaskState.TaskMark:
                List <GameObject> objList = (List <GameObject>)eve.GetParam("Mark");
                //objList = (ConnectMsg.Instance != null && ConnectMsg.Instance.gameObject.activeInHierarchy) ? null : objList;
                if (taskData.IsMask)
                {
                    effect.ShowMark(true, objList);
                }
                SkipNewsGuideMark(objList);
                break;
            }
        }