Example #1
0
 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);
     }
 }
Example #2
0
        /// <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;
                }
            }
        }