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); }
public virtual void ChangeAchievementErrorInfo(tagRoleAchievementInfo pInfo) { //客户端向服务器端发送错误的请求的时候 我们重置任务的数据 pAchievementInfo = pInfo; m_AchievementEventIsFinish = (pConfig.AchievementEventInfo.FinishValue <= pAchievementInfo.AchievementValue); tagOnceAchievementChangeEvent pEvent = new tagOnceAchievementChangeEvent(pAchievementInfo.AchievementID); MsgEventHandle.HandleMsg(pEvent); }
public virtual bool OnInit(tagRoleAchievementInfo pInfo, RoleAchievementManager pManager) { //初始化任务 的数据 m_pManger = pManager; pAchievementInfo = pInfo;//客户端在加载的时候 无须判断是否需要进行每日清空 pConfig = FishConfig.Instance.m_AchievementInfo.m_AchievementMap[pAchievementInfo.AchievementID]; m_AchievementEventIsFinish = (pConfig.AchievementEventInfo.FinishValue <= pInfo.AchievementValue); OnJoinAchievement(); return(true); }