using System.Collections; using System.Collections.Generic; using ET; using FairyGUI; using UnityEngine; using UnityEngine.Networking; namespace GFGGame { //推送其他玩家基础信息变化 public class NoticeOtherInfo : AMHandler { protected override async ETTask Run(Session session, S2C_NoticeOtherInfo message) { for (int i = 0; i < message.RoleInfos.Count; i++) { if (LeagueDataManager.Instance.LeagueData.LeagueMemberDatas.ContainsKey(message.RoleInfos[i].RoleId)) { // UpdateRoleChange(LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[message.RoleInfos[i].RoleId].RoleInfo, message.RoleInfos[i]); OtherRoleInfoData roleInfo = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[message.RoleInfos[i].RoleId].RoleInfo; roleInfo = RoleDataManager.GetOtherRoleInfoData(message.RoleInfos[i]); } } EventAgent.DispatchEvent(ConstMessage.OTHER_ROLE_INFO_CHANGE); await ETTask.CompletedTask; } // private void UpdateRoleChange(OtherRoleInfoData roleInfoData, OtherRoleInfoProto roleInfoProto) // { // roleInfoData.roleId = roleInfoProto.RoleId; // roleInfoData.roleLv = roleInfoProto.RoleLvl; // roleInfoData.roleName = roleInfoProto.RoleName; // roleInfoData.headId = roleInfoProto.HeadItemId; // roleInfoData.headBorderId = roleInfoProto.HeadBorderItemId; // roleInfoData.offlineTimeSec = roleInfoProto.OfflineTimeSec; // } } public static class RoleInfoSProxy { //请求个人信息 public static async ETTask ReqPersonalInfo() { S2C_GetPersonalInfo response = null; response = (S2C_GetPersonalInfo)await MessageHelper.SendToServer(new C2S_GetPersonalInfo()); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { RoleDataManager.slogan = response.Signature; RoleDataManager.headId = response.HeadItemId; RoleDataManager.headBorderId = response.HeadBorderItemId; RoleDataManager.photoDatas = response.PictureIds; return true; } } return false; } //请求其他玩家详细信息 public static async ETTask ReqOtherRoleDetailInfo(long otherRoleId) { S2C_GetOtherRoleDetailInfo response = null; response = (S2C_GetOtherRoleDetailInfo)await MessageHelper.SendToServer(new C2S_GetOtherRoleDetailInfo() { RoleId = otherRoleId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { OtherRoleInfoDetailData roleInfoDetail = new OtherRoleInfoDetailData(); roleInfoDetail.roleInfo = new OtherRoleInfoData(); roleInfoDetail.roleInfo.roleId = response.RoleInfo.RoleId; roleInfoDetail.roleInfo.roleName = response.RoleInfo.RoleName; roleInfoDetail.roleInfo.roleLv = response.RoleInfo.RoleLvl; roleInfoDetail.roleInfo.headId = response.RoleInfo.HeadItemId; roleInfoDetail.roleInfo.headBorderId = response.RoleInfo.HeadBorderItemId; roleInfoDetail.roleInfo.offlineTimeSec = response.RoleInfo.OfflineTimeSec; roleInfoDetail.slogan = response.Signature; roleInfoDetail.SuitCollectPer = response.SuitCollectPer; for (int i = 0; i < response.PictureInfoList.Count; i++) { if (roleInfoDetail.showPhotoList.Count == i) { roleInfoDetail.showPhotoList.Add(new PoemPhotoData()); } if (response.PictureInfoList[i].PictureId == 0) { roleInfoDetail.showPhotoList[i] = null; } else { roleInfoDetail.showPhotoList[i].PictureId = response.PictureInfoList[i].PictureId; roleInfoDetail.showPhotoList[i].PictureTempUrl = response.PictureInfoList[i].PictureTempUrl; } } if (response.CustomSuit != null) { roleInfoDetail.customSuitData = new CustomSuitData(response.CustomSuit.Pos); roleInfoDetail.customSuitData.dressUpData.bgId = response.CustomSuit.BgId; roleInfoDetail.customSuitData.dressUpData.suitId = response.CustomSuit.SuitId; roleInfoDetail.customSuitData.dressUpData.actionId = response.CustomSuit.ActionId; roleInfoDetail.customSuitData.dressUpData.itemList = response.CustomSuit.EquipIds; } return roleInfoDetail; } } return null; } //修改个人签名 public static async ETTask ReqModifySlogan(string slogan) { S2C_ModifySignature response = null; response = (S2C_ModifySignature)await MessageHelper.SendToServer(new C2S_ModifySignature() { Signature = slogan }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { RoleDataManager.slogan = response.Signature; return RoleDataManager.slogan; } } return RoleDataManager.slogan; } //修改角色名称 public static async ETTask ReqModifyRoleName(string name) { S2C_ModifyRoleName response = null; response = (S2C_ModifyRoleName)await MessageHelper.SendToServer(new C2S_ModifyRoleName() { Name = name }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { RoleDataManager.roleName = response.Name; GameGlobal.zoneScene.GetComponent().GetCurrentRole().Name = response.Name; EventAgent.DispatchEvent(ConstMessage.CHANGE_ROLE_NAME); return true; } } return false; } //修改角色头像 public static async ETTask ReqModifyRoleHead(int headId) { S2C_AuHead response = null; response = (S2C_AuHead)await MessageHelper.SendToServer(new C2S_AuHead() { HeadItemId = headId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { RoleDataManager.headId = response.HeadItemId; if (LeagueDataManager.Instance.Type == LeagueJoinType.Join) { LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[RoleDataManager.roleId].RoleInfo.headId = RoleDataManager.headId; } EventAgent.DispatchEvent(ConstMessage.CHANGE_ROLE_HEAD); return true; } } return false; } //修改角色头像框 public static async ETTask ReqModifyRoleHeadBorder(int HeadBorder) { S2C_AuHeadBorder response = null; response = (S2C_AuHeadBorder)await MessageHelper.SendToServer(new C2S_AuHeadBorder() { HeadBorderItemId = HeadBorder }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { RoleDataManager.headBorderId = response.HeadBorderItemId; if (LeagueDataManager.Instance.Type == LeagueJoinType.Join) { LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[RoleDataManager.roleId].RoleInfo.headBorderId = RoleDataManager.headBorderId; } EventAgent.DispatchEvent(ConstMessage.CHANGE_ROLE_HEAD); return true; } } return false; } //修改展示图片 public static async ETTask ReqModifyShowPhoto(List photoDatas) { S2C_AddOpenAlbumInfo response = null; response = (S2C_AddOpenAlbumInfo)await MessageHelper.SendToServer(new C2S_AddOpenAlbumInfo() { PictureIds = photoDatas }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { return true; } } return false; } } }