Bläddra i källkod

接入其他好友信息协议

leiyasi 1 år sedan
förälder
incheckning
3207ed1d50

+ 6 - 1
GameClient/Assets/Game/HotUpdate/Data/VO/OtherRoleInfoData.cs

@@ -23,7 +23,12 @@ namespace GFGGame
             }
         }//离线时间戳,单位毫秒,0表示在线
 
-
+        public string leagueName;
+        public List<int> itemList = new List<int>();
+        public int suitCollect;
+        public int cardCollect;
+        public int achievementTaskCollect;
+        public long roleExp;
     }
 
     public class OtherRoleInfoDetailData//其他玩家详细信息

+ 12 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/RoleInfoSProxy.cs

@@ -38,7 +38,7 @@ namespace GFGGame
         public static async ETTask<OtherRoleInfoDetailData> ReqOtherRoleDetailInfo(long otherRoleId)
         {
             S2C_GetOtherRoleDetailInfo response = null;
-            response = (S2C_GetOtherRoleDetailInfo)await MessageHelper.SendToServer(new C2S_GetOtherRoleDetailInfo() { RoleId = otherRoleId });
+            response = (S2C_GetOtherRoleDetailInfo)await MessageHelper.SendToServer(new C2S_GetOtherRoleDetailInfo() { OtherRoleId = otherRoleId });
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
@@ -51,6 +51,11 @@ namespace GFGGame
                     roleInfoDetail.roleInfo.headId = response.RoleInfo.HeadItemId;
                     roleInfoDetail.roleInfo.headBorderId = response.RoleInfo.HeadBorderItemId;
                     roleInfoDetail.roleInfo.offlineTimeSec = response.RoleInfo.OfflineTimeSec;
+                    roleInfoDetail.roleInfo.leagueName = response.RoleInfo.LeagueName;
+                    roleInfoDetail.roleInfo.suitCollect = response.RoleInfo.SuitCollect;
+                    roleInfoDetail.roleInfo.cardCollect = response.RoleInfo.CardCollect;
+                    roleInfoDetail.roleInfo.achievementTaskCollect = response.RoleInfo.AchievementTaskCollect;
+                    roleInfoDetail.roleInfo.roleExp = response.RoleInfo.RoleExp;
 
                     roleInfoDetail.slogan = response.Signature;
                     roleInfoDetail.SuitCollectPer = response.SuitCollectPer;
@@ -81,6 +86,12 @@ namespace GFGGame
                         roleInfoDetail.customSuitData.dressUpData.itemList = response.CustomSuit.EquipIds;
                     }
 
+                    roleInfoDetail.roleInfo.itemList.Clear();
+                    for(int i = 0; i < response.RoleInfo.ItemList.Count; i++)
+                    {
+                        roleInfoDetail.roleInfo.itemList.Add(response.RoleInfo.ItemList[i]);
+                    }
+
                     return roleInfoDetail;
                 }
             }

+ 67 - 13
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/OtherRoleInfoView.cs

@@ -2,6 +2,7 @@ using ET;
 using FairyGUI;
 using UI.CommonGame;
 using UI.RoleInfo;
+using UnityEngine;
 
 namespace GFGGame
 {
@@ -33,7 +34,7 @@ namespace GFGGame
             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
 
             _ui.m_photoList.itemRenderer = RenderListItem;
-
+            _ui.m_badgeList.itemRenderer = OnRenderBadgeListItem;
             _ui.m_type.SetSelectedIndex(1);
         }
 
@@ -53,7 +54,7 @@ namespace GFGGame
             RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, _roleInfo.headId, _roleInfo.headBorderId);
 
             _roleDetailInfo = await RoleInfoSProxy.ReqOtherRoleDetailInfo(_roleInfo.roleId);
-            
+            _roleInfo = _roleDetailInfo.roleInfo;
             if (_roleDetailInfo != null)
             {
                 Timers.inst.StartCoroutine(PictureStorageHelper.Download(_roleDetailInfo.showPhotoList));
@@ -61,6 +62,7 @@ namespace GFGGame
 
             UpdateInfo();
             UpdateView();
+            UpdateCollectProgress();
         }
 
         protected override void OnHide()
@@ -79,18 +81,17 @@ namespace GFGGame
 
         private void UpdateView()
         {
-            // RoleLevelCfg roleLevelCfg = RoleLevelCfgArray.Instance.GetCfg(_roleInfo.roleLv);
-            // if (roleLevelCfg.exp > 0)
-            // {
-            //     _ui.m_txtExp.text = string.Format("{0}/{1}", _roleDetailInfo.RoleExp, roleLevelCfg.exp);
-            // }
-            // else
-            // {
-            //     _ui.m_txtExp.text = "已满级";
-            // }
+            RoleLevelCfg roleLevelCfg = RoleLevelCfgArray.Instance.GetCfg(_roleInfo.roleLv);
+            if (roleLevelCfg.exp > 0)
+            {
+                _ui.m_txtExp.text = string.Format("{0}/{1}", _roleInfo.roleExp, roleLevelCfg.exp);
+            }
+            else
+            {
+                _ui.m_txtExp.text = "已满级";
+            }
 
             _ui.m_txtSlogan.text = _roleDetailInfo.slogan;
-            //_ui.m_btnFieldGuide.title = string.Format("套装收集度:{0}", _roleDetailInfo.SuitCollectPer);
             _ui.m_photoList.numItems = _roleDetailInfo.showPhotoList.Count;
         }
 
@@ -116,8 +117,61 @@ namespace GFGGame
 
         private void UpdateInfo()
         {
-            //_ui.m_leagueName.text = RoleInfoManager.Instance.GetLeagueName();
+            if (_roleInfo.leagueName == null)
+            {
+                _ui.m_leagueName.text = "暂未加入雅集";
+            }
+            else
+            {
+                _ui.m_leagueName.text = _roleInfo.leagueName;
+            }
+
             _ui.m_txtRoleID.text = _roleInfo.roleId.ToString();
+            _ui.m_badgeList.numItems = _ui.m_badgeList.numItems;
+        }
+
+        private void UpdateCollectProgress()
+        {
+            UI_ButtonCollectProgress button2 = UI_ButtonCollectProgress.Proxy(_ui.m_btnSuitGuide.target);
+            // 套装
+            float progress = _roleInfo.suitCollect;
+            button2.m_rate.text = progress.ToString();
+            button2.m_progressBar.fillAmount = progress / 100;
+
+            // 词牌
+            button2 = UI_ButtonCollectProgress.Proxy(_ui.m_btnCardGuide.target);
+            progress = _roleInfo.cardCollect;
+            button2.m_rate.text = progress.ToString();
+            button2.m_progressBar.fillAmount = progress / 100;
+
+            // 成就
+            button2 = UI_ButtonCollectProgress.Proxy(_ui.m_btnTaskArchieveGuide.target);
+            progress = _roleInfo.achievementTaskCollect;
+            button2.m_rate.text = progress.ToString();
+            button2.m_progressBar.fillAmount = progress / 100;
+
+            UI_ButtonCollectProgress.ProxyEnd();
+        }
+
+        private void OnRenderBadgeListItem(int index, GObject gObject)
+        {
+            gObject.data = -1;
+
+            UI_ButtonBadge buttonBadge = UI_ButtonBadge.Proxy(gObject);
+            if (index < _roleInfo.itemList.Count)
+            {
+                int badgeID = _roleInfo.itemList[index];
+                gObject.data = badgeID;
+                buttonBadge.m_type.SetSelectedIndex(1);
+                // 加载徽章图片
+                buttonBadge.m_iconImg.url = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(badgeID));
+            }
+            else
+            {
+                buttonBadge.m_type.SetSelectedIndex(0);
+            }
+
+            UI_ButtonBadge.ProxyEnd();
         }
 
     }