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 <FEvent>(taskData.EndTaskEvent, OnTrigger); IGuideTaskManager.Instance().SendTaskStart(taskData.EndTaskEvent, taskData.StartTaskEvent); }
void OnTrigger(FEvent eve) { TaskState tag = (TaskState)eve.GetParam("TaskState"); switch (tag) { case TaskState.TaskEnd: effect.OnEnd(); EventCenter.RemoveListener <FEvent>(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; } }