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 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 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); }
private bool SendGetTaskReward(Byte TaskID) { //判断任务是否完成了 RoleTaskBase pTask = GetTask(TaskID); if (pTask == null) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Task_GetReward_Failed_1); MsgEventHandle.HandleMsg(pUOM); return(false); } if (!pTask.m_TaskEventIsFinish) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Task_GetReward_Failed_2); MsgEventHandle.HandleMsg(pUOM); return(false); } CL_Cmd_GetTaskReward ncb = new CL_Cmd_GetTaskReward(); ncb.SetCmdType(NetCmdType.CMD_CL_GetTaskReward); ncb.TaskID = TaskID; NetServices.Instance.Send <CL_Cmd_GetTaskReward>(ncb); return(true); }
public void UpdateTaskProgress(byte taskID) { if (WindObj.activeSelf != true) { return; } if (PlayerRole.Instance.TaskManager.GetTaskArray() == null) { return; } for (byte i = 0; i < m_TaskList.Count;) { if (m_TaskList[i].TaskID == taskID) { if (PlayerRole.Instance.TaskManager.GetTaskArray().ContainsKey(taskID) == false) //领取奖励后删除任务 { //显示完成任务的奖励 if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetTaskStates(), taskID)) { GlobalHallUIMgr.Instance.ShowTipBox_0(TipBox_0.TipBox_0_ZiTi.Mission, 2f, FishConfig.Instance.m_TaskInfo.m_TaskMap[taskID].RewardID); } TaskItem item = m_TaskList[i]; m_Scroll.m_grid.RemoveChild(item.m_BaseTrans); item.ShutDown(); Utility.ListRemoveAt(m_TaskList, i); } else { RoleTaskBase pBase = PlayerRole.Instance.TaskManager.GetTaskArray()[taskID]; uint curTaskValue = PlayerRole.Instance.TaskManager.GetTask(taskID).pTaskInfo.TaskValue; uint TaskValueMax = pBase.pConfig.TaskEventInfo.FinishValue; if (pBase.m_TaskEventIsFinish) { m_TaskList[i].UpdateTaskBg(m_TaskBgTex[1]); } else { m_TaskList[i].UpdateTaskBg(m_TaskBgTex[0]); } m_TaskList[i].UpdateTaskProgress(curTaskValue, TaskValueMax, pBase.m_TaskEventIsFinish); } break; } else { i++; //新增一个任务 if ((i == m_TaskList.Count) && (PlayerRole.Instance.TaskManager.GetTaskArray().ContainsKey(taskID))) { // InitTaskItem(PlayerRole.Instance.TaskManager.GetTaskArray()[taskID]); UpdateTaskDate(); } } } }
public RoleTaskBase GetTask(Byte TaskID) { RoleTaskBase pBase = null; if (!m_TaskMap.TryGetValue(TaskID, out pBase)) { return(null); } return(pBase); }
//bool HandleGetRoleTaskInfoFinish(NetCmdBase obj) //{ // LC_Cmd_GetRoleTaskInfoFinish ncb = (LC_Cmd_GetRoleTaskInfoFinish)obj; // return true; //} bool HandleTaskAllEventFinish(NetCmdBase obj) { LC_Cmd_TaskAllEventFinish ncb = (LC_Cmd_TaskAllEventFinish)obj; RoleTaskBase pTask = GetTask(ncb.TaskID); if (pTask == null) { SendGetTaskInfoByServer(ncb.TaskID); return(true); } pTask.SetTaskIsFinish(); m_IsExistsFinishTask = true; tagOnceTaskChangeEvent pEvent = new tagOnceTaskChangeEvent(ncb.TaskID); MsgEventHandle.HandleMsg(pEvent); tagOnceTaskEventFinishEvent pFinish = new tagOnceTaskEventFinishEvent(ncb.TaskID); MsgEventHandle.HandleMsg(pFinish); return(true); }
void InitTaskItem(RoleTaskBase value) { TaskItem item = new TaskItem(); item.Init(m_Scroll.m_BaseChild, false); tagTaskStrInfo taskStrInfo = FishConfig.Instance.m_TaskInfo.m_TaskStr[value.pConfig.TaskID]; string taskName = taskStrInfo.TaskName; string taskDes = taskStrInfo.TaskDec; uint curTaskValue = PlayerRole.Instance.TaskManager.GetTask(value.pConfig.TaskID).pTaskInfo.TaskValue; uint TaskValueMax = value.pConfig.TaskEventInfo.FinishValue; tagRewardOnce pOnce = FishConfig.Instance.GetRewardOnceByID(value.pConfig.RewardID); item.SetTaskDate(pOnce, value.pConfig.TaskID, taskDes, taskName, taskStrInfo.TaskIcon); item.UpdateTaskProgress(curTaskValue, TaskValueMax, value.m_TaskEventIsFinish); if (value.m_TaskEventIsFinish) { item.UpdateTaskBg(m_TaskBgTex[1]); } else { item.UpdateTaskBg(m_TaskBgTex[0]); } m_TaskList.Add(item); }