bool HandleChangeTaskInfo(NetCmdBase obj) { LC_Cmd_GetOnceTaskInfo ncb = (LC_Cmd_GetOnceTaskInfo)obj; RoleTaskBase pTask = GetTask(ncb.TaskInfo.TaskID); if (pTask == null) { //直接添加 tagTaskConfig pConfig = null; if (!FishConfig.Instance.m_TaskInfo.m_TaskMap.TryGetValue(ncb.TaskInfo.TaskID, out pConfig)) { return(false); } pTask = CreateTask((EventTargetType)pConfig.TaskEventInfo.EventID); if (pTask == null || !pTask.OnInit(ncb.TaskInfo, this)) { return(false); } m_TaskMap.Add(ncb.TaskInfo.TaskID, pTask); CheckIsExistsFinishItem(); tagOnceTaskChangeEvent pEvent = new tagOnceTaskChangeEvent(ncb.TaskInfo.TaskID); MsgEventHandle.HandleMsg(pEvent); return(true); } else { CheckIsExistsFinishItem(); pTask.ChangeTaskErrorInfo(ncb.TaskInfo); } return(true); }
bool HandleJoinTaskInfo(NetCmdBase obj) { LC_Cmd_JoinTask ncb = (LC_Cmd_JoinTask)obj; tagTaskConfig pConfig = null; if (!FishConfig.Instance.m_TaskInfo.m_TaskMap.TryGetValue(ncb.TaskID, out pConfig)) { return(false); } RoleTaskBase pBase = CreateTask((EventTargetType)pConfig.TaskEventInfo.EventID); tagRoleTaskInfo pInfo = new tagRoleTaskInfo(); pInfo.TaskID = ncb.TaskID; pInfo.TaskValue = 0; if (pBase == null || !pBase.OnInit(pInfo, this)) { return(false); } m_TaskMap.Add(ncb.TaskID, pBase); PlayerRole.Instance.UpdateRoleEventHandle(); CheckIsExistsFinishItem(); tagOnceTaskChangeEvent pEvent = new tagOnceTaskChangeEvent(ncb.TaskID); MsgEventHandle.HandleMsg(pEvent); return(true); }
bool HandleGetRoleTaskInfo(NetCmdBase obj) { LC_Cmd_GetRoleTaskInfo ncb = (LC_Cmd_GetRoleTaskInfo)obj; if ((ncb.States & FishDataInfo.MsgBegin) != 0) { m_TaskMap.Clear(); } for (UInt16 i = 0; i < ncb.Sum; ++i) { tagTaskConfig pConfig = null; if (!FishConfig.Instance.m_TaskInfo.m_TaskMap.TryGetValue(ncb.Array[i].TaskID, out pConfig)) { continue; } RoleTaskBase pBase = CreateTask((EventTargetType)pConfig.TaskEventInfo.EventID); if (pBase == null || !pBase.OnInit(ncb.Array[i], this)) { continue; } m_TaskMap.Add(ncb.Array[i].TaskID, pBase); } if ((ncb.States & FishDataInfo.MsgEnd) != 0) { m_IsLoadInfo = true; CheckIsExistsFinishItem(); tagTaskChangeEvent pEvent = new tagTaskChangeEvent(); MsgEventHandle.HandleMsg(pEvent); } return(true); }