/// <summary> /// 领取成就奖励 /// </summary> /// <param name="id"></param> public void ReqGetAchieveReward(uint id) { stGetAchieveRewardDataUserCmd_CS cmd = new stGetAchieveRewardDataUserCmd_CS(); cmd.id.Add(id); NetService.Instance.Send(cmd); }
/// <summary> /// 一键获取 /// </summary> public void ReqGetAllAchieve() { stGetAchieveRewardDataUserCmd_CS cmd = null; foreach (var item in achievementServerData) { if (item.Value.status == (uint)AchieveStatus.AchieveStatus_CanReceive) { if (cmd == null) { cmd = new stGetAchieveRewardDataUserCmd_CS(); } cmd.id.Add(item.Value.id); } } if (cmd != null) { NetService.Instance.Send(cmd); } }
/// <summary> /// 领取奖励成功 /// </summary> /// <param name="cmd"></param> public void OnResponGetAchieveReward(stGetAchieveRewardDataUserCmd_CS cmd) { if (cmd != null) { for (int i = 0; i < cmd.id.Count; i++) { uint id = cmd.id[i]; if (achievementServerData.ContainsKey(id)) { achievementServerData[id].status = (uint)AchieveStatus.AchieveStatus_HaveReceive; table.AchievementDataBase table = GameTableManager.Instance.GetTableItem <table.AchievementDataBase>(id); if (table == null) { Engine.Utility.Log.Error("成就表格找不到对应ID为{0}的数据", id); } else { haveAchievePoint += table.get_point; if (table.title != 0) { TitleDataBase title = GameTableManager.Instance.GetTableItem <TitleDataBase>(table.title); TipsManager.Instance.ShowTips(DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.Local_TXT_Notice_GetTitle, title.strName)); } } } } } if (HaveCanReceiveAchieve()) { Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.REFRESHACHIEVEMENTPUSH, null); stShowMainPanelRedPoint st = new stShowMainPanelRedPoint() { modelID = (int)WarningEnum.Achievement, direction = (int)WarningDirection.Left, bShowRed = true, }; Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st); } DispatchValueUpdateEvent(new ValueUpdateEventArgs(AchieveDispatchEvents.GetAchieveReward.ToString(), null, null)); }
public void OnResponGetAchieveReward(stGetAchieveRewardDataUserCmd_CS cmd) { DataManager.Manager <AchievementManager>().OnResponGetAchieveReward(cmd); }