using System; using System.Collections.Generic; using ET; namespace GFGGame { //通知茶会状态 public class TeapartyStatus : AMHandler { protected override async ETTask Run(Session session, S2C_TeapartyStatus message) { LeagueDataManager.Instance.TeaPartyId = message.TeapartyId; LeagueDataManager.Instance.TeaPartyStatus = message.Status; await ETTask.CompletedTask; } } //通知茶会状态 public class RoleContainerInfos : AMHandler { protected override async ETTask Run(Session session, S2C_RoleContainerInfos message) { LeagueDataManager.Instance.RoleContainerList = message.RoleContainerList; await ETTask.CompletedTask; } } //通知茶会状态 public class LeagueScore : AMHandler { protected override async ETTask Run(Session session, S2C_LeagueScore message) { LeagueDataManager.Instance.RoleTeapartyInfoProto.LeagueScore = message.LeagueScore; await ETTask.CompletedTask; } } //通知联盟解散了 public class NoticeDisbandLeague : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeDisbandLeague message) { if (message.LeagueId == LeagueDataManager.Instance.LeagueData.LeagueId) { if (ViewManager.isViewOpen(typeof(LeagueView).FullName)) { ViewManager.Show(null, null, true); PromptController.Instance.ShowFloatTextPrompt("您的雅集已解散"); } LeagueDataManager.Instance.Clear(); LeagueSproxy.ReqGetLeagueInfo().Coroutine(); } await ETTask.CompletedTask; } } //通知联盟值变化 public class NoticeLeagueNumeric : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeLeagueNumeric message) { if (message.LeagueId == LeagueDataManager.Instance.LeagueData.LeagueId) { LeagueDataManager.Instance.SetNumeric(message.NumericType, message.NewValue); EventAgent.DispatchEvent(ConstMessage.LEAGUE_NUMBERIC_CHANGE); } await ETTask.CompletedTask; } } //通知有人申请加入联盟 public class NoticeApplyLeague : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeApplyLeague message) { OtherRoleInfoData otherRoleInfo = RoleDataManager.GetOtherRoleInfoData(message.RoleInfo); LeagueDataManager.Instance.ListApplyDatas[otherRoleInfo.roleId] = otherRoleInfo; await ETTask.CompletedTask; } } //通知有人离开了联盟 public class NoticeLeaveLeague : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeLeaveLeague message) { LeagueData leagueData = LeagueDataManager.Instance.LeagueData; if (message.LeagueId == leagueData.LeagueId) { if (message.LeaveRoleId == RoleDataManager.roleId)//自己离开联盟 { LeagueDataManager.Instance.Clear(); LeagueSproxy.ReqGetLeagueInfo().Coroutine(); if (ViewManager.isViewOpen(typeof(LeagueView).FullName)) { ViewManager.Show(null, null, true); } PromptController.Instance.ShowFloatTextPrompt("您已离开雅集"); return; } else { if (leagueData.LeagueMemberDatas.ContainsKey(message.LeaveRoleId)) { if (leagueData.LeagueMemberDatas[message.LeaveRoleId].Pos == LeaguePos.Flower) { leagueData.FlowerNum--; } leagueData.LeagueMemberDatas.Remove(message.LeaveRoleId); } if (message.LeaveRoleId == leagueData.OwnerId) { leagueData.OwnerId = 0; } else if (message.LeaveRoleId == leagueData.SubOwnerId) { leagueData.SubOwnerId = 0; } } LeagueDataManager.Instance.LeagueData.Num = LeagueDataManager.Instance.LeagueData.Num - 1; EventAgent.DispatchEvent(ConstMessage.LEAGUE_MEMBER_CHANGE); } await ETTask.CompletedTask; } } //通知有人加入了联盟 public class NoticeJoinLeague : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeJoinLeague message) { if (LeagueDataManager.Instance.Type == LeagueJoinType.UnJoin) { bool result = await LeagueSproxy.ReqGetLeagueInfo(); if (result && ViewManager.isViewOpen(typeof(LeagueJoinView).FullName)) { ViewManager.Show(null, new object[] { typeof(MainUIView).FullName, null }, true); } } else { LeagueMemberData memberData = LeagueSproxy.GetLeagueMemberData(message.RoleInfo); LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[memberData.RoleInfo.roleId] = memberData; LeagueDataManager.Instance.LeagueData.Num = LeagueDataManager.Instance.LeagueData.Num + 1; } EventAgent.DispatchEvent(ConstMessage.LEAGUE_MEMBER_CHANGE); await ETTask.CompletedTask; } } //通知职位变化 public class NoticeLeaguePosChange : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeLeaguePosChange message) { LeagueData leagueData = LeagueDataManager.Instance.LeagueData; if (message.LeagueId == leagueData.LeagueId) { if (message.RoleId == leagueData.OwnerId) leagueData.OwnerId = 0; if (message.RoleId == leagueData.SubOwnerId) leagueData.SubOwnerId = 0; if (message.Position == LeaguePos.Owner) { leagueData.OwnerId = message.RoleId; } else if (message.Position == LeaguePos.SubOwner) { leagueData.SubOwnerId = message.RoleId; } if (leagueData.LeagueMemberDatas.ContainsKey(message.RoleId)) { if (leagueData.LeagueMemberDatas[message.RoleId].Pos == LeaguePos.Flower) { leagueData.FlowerNum--; } else if (message.Position == LeaguePos.Flower) { leagueData.FlowerNum++; } LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[message.RoleId].Pos = message.Position; } EventAgent.DispatchEvent(ConstMessage.LEAGUE_MEMBER_CHANGE); } await ETTask.CompletedTask; } } //通知联盟信息变化 public class NoticeLeagueInfoChange : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeLeagueInfoChange message) { if (message.LeagueId == LeagueDataManager.Instance.LeagueData.LeagueId) { if (message.Type == 1)//1为名字 { LeagueDataManager.Instance.LeagueData.Name = message.Changed; } else if (message.Type == 2) //2为徽章 { LeagueDataManager.Instance.LeagueData.Icon = message.Changed; } else if (message.Type == 3)//3为公告 { LeagueDataManager.Instance.LeagueData.Notice = message.Changed; } EventAgent.DispatchEvent(ConstMessage.LEAGUE_INFO_CHANGE); } await ETTask.CompletedTask; } } //获取加入退出日志 public class NoticeLeagueJoinQuitLog : AMHandler { protected override async ETTask Run(Session session, S2C_LeagueJoinQuitLog message) { LeagueLogData logData = LeagueSproxy.GetLeagueLogData(message.Logs); LeagueDataManager.Instance.ListLogDatas.Insert(0, logData); EventAgent.DispatchEvent(ConstMessage.LEAGUE_LOG_CHANGE); await ETTask.CompletedTask; } } //同步玩家联盟贡献统计 public class NoticeLeagueContribution : AMHandler { protected override async ETTask Run(Session session, S2C_LeagueContribution message) { LeagueData leagueData = LeagueDataManager.Instance.LeagueData; if (leagueData.LeagueMemberDatas.ContainsKey(message.RoleId)) { leagueData.LeagueMemberDatas[message.RoleId].WeekContribution = message.WeekContribution; leagueData.LeagueMemberDatas[message.RoleId].AllContribution = message.AllContribution; } await ETTask.CompletedTask; } } //通知有玩家加入答题 public class NoticeJoinAnswer : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeJoinAnswer message) { LeagueDataManager.Instance.ListAnsweringDatas[message.RoleId] = message.AnswerNum; EventAgent.DispatchEvent(ConstMessage.LEAGUE_ANSWER_MEMBER_CHANGE); await ETTask.CompletedTask; } } //通知有玩家退出答题 public class NoticeQuitAnswer : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeQuitAnswer message) { LeagueDataManager.Instance.ListAnsweringDatas.Remove(message.RoleId); EventAgent.DispatchEvent(ConstMessage.LEAGUE_ANSWER_MEMBER_CHANGE); await ETTask.CompletedTask; } } //同步玩家答题数量 public class NoticeAnswerNum : AMHandler { protected override async ETTask Run(Session session, S2C_SyncAnswerNum message) { LeagueDataManager.Instance.ListAnsweringDatas[message.RoleId] = message.Num; LeagueDataManager.Instance.LastAnswerRoleData.RightRoleId = message.RoleId; List rewards = ItemUtil.CreateItemDataList(message.Rewards); if (rewards.Count > 0) { BonusController.TryShowBonusList(rewards); } EventAgent.DispatchEvent(ConstMessage.LEAGUE_ANSWER_RESULT_CHANGE); await ETTask.CompletedTask; } } //同步答题开始 public class NoticeAnswerStart : AMHandler { protected override async ETTask Run(Session session, S2C_SyncAnswerStart message) { LeagueDataManager.Instance.SetNumeric(LeagueNumericType.LeagueQuestionId, message.QuestionId); LeagueDataManager.Instance.SetNumeric(LeagueNumericType.LeagueQuestionStatusEndTime, message.Time); EventAgent.DispatchEvent(ConstMessage.LEAGUE_ANSWER_START); await ETTask.CompletedTask; } } //通知答题暂停 public class NoticeAnswerPause : AMHandler { protected override async ETTask Run(Session session, L2C_NoticeAnswerPause message) { if (message.Type == LastQuestionResult.Ending) { LeagueDataManager.Instance.SetNumeric(LeagueNumericType.LeagueQuestionStatus, LeagueQuestionStatus.AnswerEnd); //弹窗 var rewards = ItemUtil.CreateItemDataList(message.Rewards); if (rewards.Count > 0) { BonusController.TryShowBonusList(rewards); } } else { LeagueDataManager.Instance.SetNumeric(LeagueNumericType.LeagueQuestionStatus, LeagueQuestionStatus.WaitNext); LeagueDataManager.Instance.SetNumeric(LeagueNumericType.LeagueQuestionStatusEndTime, message.Time); } LeagueDataManager.Instance.LastAnswerRoleData.LastQuestionResult = message.Type; LeagueDataManager.Instance.LastAnswerRoleData.MyAnswer = ""; EventAgent.DispatchEvent(ConstMessage.LEAGUE_ANSWER_END, message.Type); await ETTask.CompletedTask; } } /*****************************************************************************************************************************************/ public static class LeagueSproxy { //获取联盟信息 public static async ETTask ReqGetLeagueInfo() { S2C_GetLeagueInfo response = null; response = (S2C_GetLeagueInfo)await MessageHelper.SendToServer(new C2S_GetLeagueInfo() { RoleId = RoleDataManager.roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.Type = response.Type; if (LeagueDataManager.Instance.Type == LeagueJoinType.Join)//1:已经加入军团 { LeagueDataManager.Instance.LeagueData = GetLeagueData(response.LeagueDetailInfo); int myPos = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[RoleDataManager.roleId].Pos; if (myPos == LeaguePos.Owner || myPos == LeaguePos.SubOwner) { ReqGetApplyJoinLeagueList().Coroutine(); ReqLeagueJoinQuitLog().Coroutine(); } LeagueDataManager.Instance.TeaPartyId = response.LeagueDetailInfo.TeapartyId; LeagueDataManager.Instance.TeaPartyStatus = response.LeagueDetailInfo.Status; } else if (LeagueDataManager.Instance.Type == LeagueJoinType.UnJoin)//2:未加入军团 { LeagueDataManager.Instance.ListDatas.Clear(); for (int i = 0; i < response.list.Count; i++) { LeagueListData leagueListData = GetLeagueListData(response.list[i]); LeagueDataManager.Instance.ListDatas[leagueListData.LeagueId] = leagueListData; } } return true; } } return false; } // 搜索联盟信息,leagueName为空则刷新 public static async ETTask ReqSearchLeagueInfo(string leagueName) { S2C_SearchLeagueInfo response = null; response = (S2C_SearchLeagueInfo)await MessageHelper.SendToServer(new C2S_SearchLeagueInfo() { RoleId = RoleDataManager.roleId, Name = leagueName }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.ListDatas.Clear(); for (int i = 0; i < response.list.Count; i++) { LeagueListData leagueListData = GetLeagueListData(response.list[i]); LeagueDataManager.Instance.ListDatas[leagueListData.LeagueId] = leagueListData; } return true; } } return false; } //创建联盟 public static async ETTask ReqCreateLeague(string leagueName, string icon) { S2C_CreateLeague response = null; response = (S2C_CreateLeague)await MessageHelper.SendToServer(new C2S_CreateLeague() { Name = leagueName, IconName = icon }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.LeagueData = GetLeagueData(response.LeagueDetailInfo); LeagueDataManager.Instance.Type = LeagueJoinType.Join; LeagueDataManager.Instance.TeaPartyId = response.LeagueDetailInfo.TeapartyId; LeagueDataManager.Instance.TeaPartyStatus = response.LeagueDetailInfo.Status; return true; } } return false; } //申请加入联盟 public static async ETTask ReqJoinLeague(long leagueId) { S2C_ApplyJoinLeague response = null; response = (S2C_ApplyJoinLeague)await MessageHelper.SendToServer(new C2S_ApplyJoinLeague() { RoleId = RoleDataManager.roleId, LeagueId = leagueId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { if (response.Type == 2)//加入成功 { LeagueDataManager.Instance.LeagueData = GetLeagueData(response.LeagueDetailInfo); LeagueDataManager.Instance.TeaPartyId = response.LeagueDetailInfo.TeapartyId; LeagueDataManager.Instance.TeaPartyStatus = response.LeagueDetailInfo.Status; } else if (response.Type == 1)//等待审核 { LeagueDataManager.Instance.ListDatas[leagueId].ApplyStatus = LeagueApplyStatus.Applying; } return true; } } return false; } //获取申请加入联盟列表 public static async ETTask ReqGetApplyJoinLeagueList() { S2C_GetApplyJoinLeagueList response = null; response = (S2C_GetApplyJoinLeagueList)await MessageHelper.SendToServer(new C2S_GetApplyJoinLeagueList() { RoleId = RoleDataManager.roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { for (int i = 0; i < response.RoleInfo.Count; i++) { LeagueDataManager.Instance.ListApplyDatas[response.RoleInfo[i].RoleId] = RoleDataManager.GetOtherRoleInfoData(response.RoleInfo[i]); } return true; } } return false; } //设置是否需要审批 public static async ETTask ReqSetLeagueApply(bool isNeed) { S2C_SetLeagueApply response = null; response = (S2C_SetLeagueApply)await MessageHelper.SendToServer(new C2S_SetLeagueApply() { IsNeed = isNeed }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.SetNumeric(LeagueNumericType.NeedAudit, response.IsNeed ? 1 : 0); return true; } } return false; } //审核是否同意加入 public static async ETTask ReqAuditJoinLeague(long targetRoleId, bool IsAgreed) { S2C_AuditJoinLeague response = null; response = (S2C_AuditJoinLeague)await MessageHelper.SendToServer(new C2S_AuditJoinLeague() { TargetRoleId = targetRoleId, IsAgreed = IsAgreed }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.ListApplyDatas.Remove(targetRoleId); } else if (response.Error == ErrorCode.ERR_LeagueRoleHad) { LeagueDataManager.Instance.ListApplyDatas.Remove(targetRoleId); } EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); return true; } return false; } //修改职位 public static async ETTask ReqChangeLeaguePos(long targetRoleId, int pos) { S2C_ChangeLeaguePos response = null; response = (S2C_ChangeLeaguePos)await MessageHelper.SendToServer(new C2S_ChangeLeaguePos() { TargetRoleId = targetRoleId, Position = pos }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { // if(targetRoleId==LeagueDataManager.in) return true; } } return false; } //踢出联盟 public static async ETTask ReqKickLeague(long targetRoleId) { S2C_KickLeague response = null; response = (S2C_KickLeague)await MessageHelper.SendToServer(new C2S_KickLeague() { TargetRoleId = targetRoleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { return true; } } return false; } //退出联盟 public static async ETTask ReqQuitLeague() { S2C_QuitLeague response = null; response = (S2C_QuitLeague)await MessageHelper.SendToServer(new C2S_QuitLeague() { RoleId = RoleDataManager.roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.Clear(); return true; } } return false; } //修改联盟名字和联盟徽章 //type: 1为名字,2为徽章 public static async ETTask ReqChangeLeagueNameOrIcon(int type, string changed) { S2C_ChangeLeagueNameOrIcon response = null; response = (S2C_ChangeLeagueNameOrIcon)await MessageHelper.SendToServer(new C2S_ChangeLeagueNameOrIcon() { Type = type, Changed = changed }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PromptController.Instance.ShowFloatTextPrompt("修改成功"); return true; } } return false; } //修改公告 public static async ETTask ReqChangeLeagueNotice(string changed) { S2C_ChangeLeagueNotice response = null; response = (S2C_ChangeLeagueNotice)await MessageHelper.SendToServer(new C2S_ChangeLeagueNotice() { RoleId = RoleDataManager.roleId, Notice = changed }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.LeagueData.Notice = changed; return true; } } return false; } //发广告 public static async ETTask ReqSendLeagueAD() { S2C_SendLeagueAD response = null; response = (S2C_SendLeagueAD)await MessageHelper.SendToServer(new C2S_SendLeagueAD() { }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.SetNumeric(LeagueNumericType.AdEndTime, response.AdEndTime); return true; } } return false; } //获取加入退出日志 public static async ETTask ReqLeagueJoinQuitLog() { S2C_GetLeagueJoinQuitLog response = null; response = (S2C_GetLeagueJoinQuitLog)await MessageHelper.SendToServer(new C2S_GetLeagueJoinQuitLog() { RoleId = RoleDataManager.roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.ListLogDatas.Clear(); for (int i = 0; i < response.Logs.Count; i++) { LeagueLogData logData = GetLeagueLogData(response.Logs[i]); LeagueDataManager.Instance.ListLogDatas.Add(logData); } return true; } } return false; } //建设联盟 //buildingType:由LeagueBuildingType定义 public static async ETTask ReqUpLeagueBuilding(int buildingType) { S2C_UpLeagueBuilding response = null; response = (S2C_UpLeagueBuilding)await MessageHelper.SendToServer(new C2S_UpLeagueBuilding() { RoleId = RoleDataManager.roleId, BuildingType = buildingType }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { return true; } } return false; } //联盟祈福 public static async ETTask ReqPrayLeague(int type) { S2C_PrayLeague response = null; response = (S2C_PrayLeague)await MessageHelper.SendToServer(new C2S_PrayLeague() { Type = type }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { if (response.CoinCount > 0) { ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(response.ItemConfigId); if (itemCfg != null) { PromptController.Instance.ShowFloatTextPrompt($"获得{itemCfg.name}*{response.CoinCount}", MessageType.SUCCESS); } } foreach (ItemInfoProto itemInfoProto in response.Bonus) { ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemInfoProto.ConfigId); if (itemCfg == null) continue; PromptController.Instance.ShowFloatTextPrompt($"获得{itemCfg.name}*{itemInfoProto.Count}", MessageType.SUCCESS); } EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); return true; } } return false; } //购买联盟福利//LeagueWelfareType public static async ETTask ReqBuyLeagueWelfare(int type) { S2C_BuyLeagueWelfare response = null; response = (S2C_BuyLeagueWelfare)await MessageHelper.SendToServer(new C2S_BuyLeagueWelfare() { Type = type }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PromptController.Instance.ShowFloatTextPrompt("购买成功"); return true; } } return false; } //领取联盟福利//LeagueWelfareType public static async ETTask ReqGetLeagueWelfare(int type) { S2C_GetLeagueWelfare response = null; response = (S2C_GetLeagueWelfare)await MessageHelper.SendToServer(new C2S_GetLeagueWelfare() { LeagueWelfareType = type }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { List itemDatas = ItemUtil.CreateItemDataList(response.Bonus); BonusController.TryShowBonusList(itemDatas); return true; } } return false; } //获取答题排行 public static async ETTask ReqGetAnswerRank(int type) { S2C_GetAnswerRank response = null; response = (S2C_GetAnswerRank)await MessageHelper.SendToServer(new C2S_GetAnswerRank() { RoleId = RoleDataManager.roleId, Type = type }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { if (!LeagueDataManager.Instance.ListAnswerRankDatas.ContainsKey(type)) { LeagueDataManager.Instance.ListAnswerRankDatas[type] = new List(); } List answerDatas = LeagueDataManager.Instance.ListAnswerRankDatas[type]; answerDatas.Clear(); for (int i = 0; i < response.RoleInfos.Count; i++) { LeagueAnswerData answerData = new LeagueAnswerData(); answerData.RoleId = response.RoleInfos[i].RoleId; answerData.Num = response.RoleInfos[i].Num; answerDatas.Add(answerData); } return true; } } return false; } //回答题目 public static async ETTask ReqAnswerQuestion(int questionId, string answer) { S2C_AnswerQuestion response = null; response = (S2C_AnswerQuestion)await MessageHelper.SendToServer(new C2S_AnswerQuestion() { RoleId = RoleDataManager.roleId, QuestionId = questionId, Answer = answer }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.LastAnswerRoleData.LastQuestionId = questionId; LeagueDataManager.Instance.LastAnswerRoleData.MyAnswer = answer; return true; } } return false; } //加入答题 public static async ETTask ReqJoinAnswer() { S2C_JoinAnswer response = null; response = (S2C_JoinAnswer)await MessageHelper.SendToServer(new C2S_JoinAnswer() { RoleId = RoleDataManager.roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.ListAnsweringDatas.Clear(); for (int i = 0; i < response.RoleInfos.Count; i++) { LeagueDataManager.Instance.ListAnsweringDatas[response.RoleInfos[i].RoleId] = response.RoleInfos[i].Num; } LeagueDataManager.Instance.LastAnswerRoleData.RightRoleId = response.LastRightRoleId; LeagueDataManager.Instance.LastAnswerRoleData.LastQuestionId = response.QuestionId; LeagueDataManager.Instance.LastAnswerRoleData.MyAnswer = response.Ans; return true; } } return false; } //退出答题 public static async ETTask ReqQuitAnswer() { S2C_QuitAnswer response = null; response = (S2C_QuitAnswer)await MessageHelper.SendToServer(new C2S_QuitAnswer() { RoleId = RoleDataManager.roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { return true; } } return false; } //获取技能列表 public static async ETTask ReqGetSkillList(int sKillType) { S2C_GetSkillList response = null; response = (S2C_GetSkillList)await MessageHelper.SendToServer(new C2S_GetSkillList() { SKillType = sKillType }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { // PromptController.Instance.ShowFloatTextPrompt("购买成功"); return true; } } return false; } //激活技能 public static async ETTask ReqActiveSkill(int sKillType, int SkillId) { S2C_GetSkillList response = null; response = (S2C_GetSkillList)await MessageHelper.SendToServer(new C2S_GetSkillList() { SKillType = sKillType }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { // PromptController.Instance.ShowFloatTextPrompt("购买成功"); return true; } } return false; } //发送聊天消息 public static async ETTask ReqSendChatMsg() { S2C_SendChatMsg response = null; response = (S2C_SendChatMsg)await MessageHelper.SendToServer(new C2S_SendChatMsg() { }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { // PromptController.Instance.ShowFloatTextPrompt("购买成功"); return true; } } return false; } private static LeagueData GetLeagueData(LeagueDetailInfoProto leagueDetailInfo) { LeagueData leagueData = LeagueDataManager.Instance.LeagueData == null ? new LeagueData() : LeagueDataManager.Instance.LeagueData; leagueData.LeagueId = leagueDetailInfo.LeagueId; leagueData.Name = leagueDetailInfo.Name; leagueData.Icon = leagueDetailInfo.Icon; leagueData.Notice = leagueDetailInfo.Notice; leagueData.Num = leagueDetailInfo.Num; leagueData.FlowerNum = 0; leagueData.OwnerId = leagueDetailInfo.OwnerId; leagueData.SubOwnerId = leagueDetailInfo.SubOwnerId; leagueData.LastWeekAnswerNO1Id = leagueDetailInfo.LastQuestionNo1RoleId; LeagueDataManager.Instance.SetNumeric(LeagueNumericType.AdEndTime, leagueDetailInfo.AdEndTime); leagueData.LeagueMemberDatas.Clear(); for (int i = 0; i < leagueDetailInfo.LeagueMemberDetailInfo.Count; i++) { LeagueMemberData memberData = GetLeagueMemberData(leagueDetailInfo.LeagueMemberDetailInfo[i]); leagueData.LeagueMemberDatas[memberData.RoleInfo.roleId] = memberData; if (memberData.Pos == LeaguePos.Flower) leagueData.FlowerNum++; } for (int i = 0; i < leagueDetailInfo.NumberKeys.Count; i++) { LeagueDataManager.Instance.SetNumeric(leagueDetailInfo.NumberKeys[i], leagueDetailInfo.Values[i]); } return leagueData; } public static LeagueMemberData GetLeagueMemberData(LeagueMemberDetailInfoProto memberDetailInfoProto) { LeagueMemberData memberData = new LeagueMemberData(); memberData.RoleInfo = RoleDataManager.GetOtherRoleInfoData(memberDetailInfoProto.RoleInfo); memberData.Pos = memberDetailInfoProto.Pos; memberData.WeekContribution = memberDetailInfoProto.WeekContribution; memberData.AllContribution = memberDetailInfoProto.AllContribution; memberData.JoinLeagueTime = memberDetailInfoProto.JoinLeagueTime; return memberData; } private static LeagueListData GetLeagueListData(LeagueListInfoProto listInfoProto) { LeagueListData listData = new LeagueListData(); listData.LeagueId = listInfoProto.LeagueId; listData.Level = listInfoProto.Level; listData.Name = listInfoProto.Name; listData.Icon = listInfoProto.Icon; listData.Num = listInfoProto.Num; listData.MaxNum = listInfoProto.MaxNum; listData.NeedAudit = listInfoProto.NeedAudit; listData.IsAd = listInfoProto.IsAd; listData.ApplyStatus = listInfoProto.ApplyStatus; return listData; } public static LeagueLogData GetLeagueLogData(LeagueJoinQuitLogProto logProto) { LeagueLogData logData = new LeagueLogData(); logData.RoleInfo = RoleDataManager.GetOtherRoleInfoData(logProto.RoleInfo); logData.Type = logProto.Type; logData.Time = logProto.Time; logData.OldPos = logProto.OldPos; logData.NewPos = logProto.NewPos; return logData; } //茶话会获取本期信息 public static async ETTask GetTeapartyInfos() { S2C_GetTeapartyInfos response = null; response = (S2C_GetTeapartyInfos)await MessageHelper.SendToServer(new C2S_GetTeapartyInfos() { RoleId = RoleDataManager.roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.TeaPartyId = response.TeapartyId; LeagueDataManager.Instance.TeaPartyStatus = response.Status; return true; } } return false; } //获取玩家本期茶话会参与信息 public static async ETTask GetTeapartyMatchingInfos(long roleId) { S2C_TeapartyMatchingInfos response = null; response = (S2C_TeapartyMatchingInfos)await MessageHelper.SendToServer(new C2S_GetTeapartyMatchingInfos() { RoleId = roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.RoleTeapartyInfoProto = response.RoleTeapartyInfo; return true; } } return false; } //获取茶会每个扮演角色坑位信息 public static async ETTask GetRoleContainerInfos(long roleId) { S2C_GetRoleContainerInfos response = null; response = (S2C_GetRoleContainerInfos)await MessageHelper.SendToServer(new C2S_GetRoleContainerInfos() { RoleId = roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.RoleContainerList = response.RoleContainerList; LeagueDataManager.Instance.TeaPartyCloseTime = response.TeaPartyCloseTime; return true; } } return false; } //更换角色坑位以及搭配 public static async ETTask ChangeTeapartyDressup(long roleId,int teapartyRoleId, List equipIds) { S2C_ChangeTeapartyDressup response = null; response = (S2C_ChangeTeapartyDressup)await MessageHelper.SendToServer(new C2S_ChangeTeapartyDressup() { RoleId = roleId, TeapartyRoleId = teapartyRoleId, EquipIds = equipIds }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { //LeagueDataManager.Instance.TeapartyRoleId = response.TeapartyRoleId; return true; } } return false; } //会长点击挑战,开启挑战 public static async ETTask TeapartyStartChallenge(long roleId) { S2C_TeapartyStartChallenge response = null; response = (S2C_TeapartyStartChallenge)await MessageHelper.SendToServer(new C2S_TeapartyStartChallenge() { RoleId = roleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { LeagueDataManager.Instance.RoleContainerList = response.RoleContainerList; return true; } } return false; } //领取个人评分奖励 public static async ETTask GetPerRatingAward(int score) { S2C_GetPerRatingAward response = null; response = (S2C_GetPerRatingAward)await MessageHelper.SendToServer(new C2S_GetPerRatingAward() { Score = score }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { //LeagueDataManager.Instance.RoleContainerList = response.PerScore; return true; } } return false; } //领取雅集评分奖励 public static async ETTask GetLeagueRatingAward(int score) { S2C_GetLeagueRatingAward response = null; response = (S2C_GetLeagueRatingAward)await MessageHelper.SendToServer(new C2S_GetLeagueRatingAward() { Score = score }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { //LeagueDataManager.Instance.RoleContainerList = response.PerScore; return true; } } return false; } } }