void OnTaskFinish(GameEvent ge, EventParameter parameter) { TaskMgr.TaskEnum type = (TaskMgr.TaskEnum)parameter.intParameter; if (type == TaskMgr.TaskEnum.finish) // 任务完成 { if (finishTaskEffectObj == null) { finishTaskEffectObj = CoreEntry.gGameObjPoolMgr.Instantiate("Effect/ui/uf_wanchengrenwu"); PanelBase parentBase = CoreEntry.gMainPanelMgr.GetPanel("UIMain"); if (parentBase != null) { finishTaskEffectObj.transform.SetParent(parentBase.gameObject.transform); finishTaskEffectObj.transform.localPosition = new Vector3(0, 200, 0); finishTaskEffectObj.transform.localScale = Vector3.one; } } finishTaskEffectObj.SetActive(true); Invoke("HideTaskEffect", 1.5f); } }
/// <summary> /// 任务更新。 /// </summary> public void OnGameEventTaskUpdate(GameEvent ge, EventParameter parameter) { int id = parameter.intParameter1; List <LuaTable> anis; if (!m_CacheTaskAnimation.TryGetValue(id, out anis)) { return; } //任务状态过滤 TaskMgr.TaskEnum te = (TaskMgr.TaskEnum)parameter.intParameter; int state = te == TaskMgr.TaskEnum.add ? TASK_TYPE_ACCEPT : (te == TaskMgr.TaskEnum.finish ? TASK_TYPE_APPLY : 0); if (state == 0 && te == TaskMgr.TaskEnum.update) { MsgData_sQuestInfo info = parameter.msgParameter as MsgData_sQuestInfo; if (info.state == 2) { state = TASK_TYPE_COMPLETE; } } if (state == 0) { return; } for (int i = 0; i < anis.Count; ++i) { LuaTable cfg = anis[i]; if (cfg.Get <int>("quest") == state) { TryPlayerCutScene(cfg); break; } } }