bool HandleJoinAchievementInfo(NetCmdBase obj) { LC_Cmd_JoinAchievement ncb = (LC_Cmd_JoinAchievement)obj; tagAchievementConfig pConfig = null; if (!FishConfig.Instance.m_AchievementInfo.m_AchievementMap.TryGetValue(ncb.AchievementID, out pConfig)) { return(false); } RoleAchievementBase pBase = CreateAchievement((EventTargetType)pConfig.AchievementEventInfo.EventID); tagRoleAchievementInfo pInfo = new tagRoleAchievementInfo(); pInfo.AchievementID = ncb.AchievementID; pInfo.AchievementValue = 0; if (pBase == null || !pBase.OnInit(pInfo, this)) { return(false); } m_AchievementMap.Add(ncb.AchievementID, pBase); //因为接到新的成就了 我们刷新下状态 PlayerRole.Instance.UpdateRoleEventHandle(); // CheckIsExistsFinishItem();//判断成就是否有完成的 tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(ncb.AchievementID); MsgEventHandle.HandleMsg(pEvent); return(true); }
bool HandleChangeAchievementInfo(NetCmdBase obj) { LC_Cmd_GetOnceAchievementInfo ncb = (LC_Cmd_GetOnceAchievementInfo)obj; RoleAchievementBase pAchievement = GetAchievement(ncb.AchievementInfo.AchievementID); if (pAchievement == null) { //直接添加 tagAchievementConfig pConfig = null; if (!FishConfig.Instance.m_AchievementInfo.m_AchievementMap.TryGetValue(ncb.AchievementInfo.AchievementID, out pConfig)) { return(false); } pAchievement = CreateAchievement((EventTargetType)pConfig.AchievementEventInfo.EventID); if (pAchievement == null || !pAchievement.OnInit(ncb.AchievementInfo, this)) { return(false); } m_AchievementMap.Add(ncb.AchievementInfo.AchievementID, pAchievement); // CheckIsExistsFinishItem();//判断成就是否有完成的 tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(ncb.AchievementInfo.AchievementID); MsgEventHandle.HandleMsg(pEvent); return(true); } else { // CheckIsExistsFinishItem();//判断成就是否有完成的 pAchievement.ChangeAchievementErrorInfo(ncb.AchievementInfo); } return(true); }
bool HandleGetRoleAchievementInfo(NetCmdBase obj) { LC_Cmd_GetRoleAchievementInfo ncb = (LC_Cmd_GetRoleAchievementInfo)obj; if ((ncb.States & FishDataInfo.MsgBegin) != 0) { m_AchievementMap.Clear(); } for (UInt16 i = 0; i < ncb.Sum; ++i) { tagAchievementConfig pConfig = null; if (!FishConfig.Instance.m_AchievementInfo.m_AchievementMap.TryGetValue(ncb.Array[i].AchievementID, out pConfig)) { continue; } RoleAchievementBase pBase = CreateAchievement((EventTargetType)pConfig.AchievementEventInfo.EventID); if (pBase == null || !pBase.OnInit(ncb.Array[i], this)) { continue; } m_AchievementMap.Add(ncb.Array[i].AchievementID, pBase); } if ((ncb.States & FishDataInfo.MsgEnd) != 0) { m_IsLoadInfo = true; tagAchievementChangeEvent pEvent = new tagAchievementChangeEvent(); MsgEventHandle.HandleMsg(pEvent); } return(true); }
public RoleAchievementBase GetAchievement(Byte AchievementID) { RoleAchievementBase pBase = null; if (!m_AchievementMap.TryGetValue(AchievementID, out pBase)) { return(null); } return(pBase); }
//bool HandleGetRoleAchievementInfoFinish(NetCmdBase obj) //{ // LC_Cmd_GetRoleAchievementInfoFinish ncb = (LC_Cmd_GetRoleAchievementInfoFinish)obj; // return true; //} bool HandleAchievementAllEventFinish(NetCmdBase obj) { LC_Cmd_AchievementAllEventFinish ncb = (LC_Cmd_AchievementAllEventFinish)obj; RoleAchievementBase pAchievement = GetAchievement(ncb.AchievementID); if (pAchievement == null) { SendGetAchievementInfoByServer(ncb.AchievementID); return(true); } pAchievement.SetAchievementIsFinish(); //m_IsExistsFinishAchievement = true; tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(ncb.AchievementID); MsgEventHandle.HandleMsg(pEvent); tagAchievementEventFinishEvent pFinish = new tagAchievementEventFinishEvent(ncb.AchievementID); MsgEventHandle.HandleMsg(pFinish); return(true); }
void InitAchieveItem(RoleAchievementBase Value, int indx) { AchieveItem item = new AchieveItem(true); item.Init(m_BaseItem); tagAchievementStrInfo achievementStrInfo = FishConfig.Instance.m_AchievementInfo.m_AchievementStr[Value.pConfig.AchievementID]; item.AchieveID = Value.pConfig.AchievementID; string strDesc = achievementStrInfo.AchievementDec; string strName = achievementStrInfo.AchievementName; int starNum = achievementStrInfo.AchievementStar; uint curAchieveValue = PlayerRole.Instance.AchievementManager.GetAchievement(Value.pConfig.AchievementID).pAchievementInfo.AchievementValue; uint AchieveValueMax = Value.pConfig.AchievementEventInfo.FinishValue; tagRewardOnce pReward = FishConfig.Instance.GetRewardOnceByID(Value.pConfig.RewardID); if (pReward == null) { return; } item.ShowAchievementInfo(strDesc, strName, achievementStrInfo.AchievementIcon, pReward, starNum); item.UpdateAchievementProgress(curAchieveValue, AchieveValueMax, Value.m_AchievementEventIsFinish); m_AchieveList.Add(item); }
private bool SendGetAchievementReward(Byte AchievementID) { //判断任务是否完成了 RoleAchievementBase pAchievement = GetAchievement(AchievementID); if (pAchievement == null) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Achievement_GetReward_Failed_1); MsgEventHandle.HandleMsg(pUOM); return(false); } if (!pAchievement.m_AchievementEventIsFinish) { tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Achievement_GetReward_Failed_2); MsgEventHandle.HandleMsg(pUOM); return(false); } CL_Cmd_GetAchievementReward ncb = new CL_Cmd_GetAchievementReward(); ncb.SetCmdType(NetCmdType.CMD_CL_GetAchievementReward); ncb.AchievementID = AchievementID; NetServices.Instance.Send <CL_Cmd_GetAchievementReward>(ncb); return(true); }