zhaoyang 2 éve
szülő
commit
dfbf3f8e49

+ 8 - 3
FGUIProject/assets/League/LeagueAnswerRankUI.xml

@@ -1,23 +1,28 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1100">
+  <controller name="c1" pages="0,,1,,2," selected="1">
+    <remark page="1" value="本周排行"/>
+    <remark page="2" value="上周排行"/>
+  </controller>
   <displayList>
     <image id="n0_pvb4" name="n0" src="a0cf2e" fileName="images/lm_db.png" xy="0,16" size="1080,1147"/>
     <component id="n1_pvb4" name="btnClose" src="a0cftl2" fileName="components/BtnClose.xml" pkg="eg2y0ldp" xy="905,36" size="111,96"/>
     <image id="n6_pvb4" name="n6" src="wm603l" fileName="images/biaotizi_5.png" xy="202,96" size="673,62"/>
     <image id="n2_pvb4" name="n2" src="wm603d" fileName="images/lm_yeqian_db.png" xy="167,188" size="293,56" group="n5_pvb4"/>
     <component id="n3_pvb4" name="n3" src="rv091j" fileName="components/Button8.xml" xy="162,185" group="n5_pvb4">
-      <Button checked="true" title="本周排行"/>
+      <Button checked="true" title="本周排行" controller="c1" page="1"/>
     </component>
     <component id="n4_pvb4" name="n4" src="rv091j" fileName="components/Button8.xml" xy="314,185" group="n5_pvb4">
-      <Button title="上周排行"/>
+      <Button title="上周排行" controller="c1" page="2"/>
     </component>
     <group id="n5_pvb4" name="n5" xy="162,185" size="304,63"/>
     <list id="n11_pvb4" name="list" xy="167,261" size="779,493" overflow="scroll" defaultItem="ui://tw70qm9dpvb451" autoClearItems="true">
+      <gearDisplay controller="c1" pages="1,2"/>
       <item/>
       <item/>
       <item/>
       <item/>
     </list>
-    <component id="n25_pvb4" name="comMine" src="pvb451" fileName="components/ListRankItem.xml" xy="165,810"/>
+    <component id="n25_pvb4" name="comMine" src="pvb451" fileName="components/ListRankItem.xml" xy="164,810"/>
   </displayList>
 </component>

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/LeagueData.cs

@@ -12,6 +12,7 @@ namespace GFGGame
         public int FlowerNum;//联盟会花人数
         public long OwnerId = 0;
         public long SubOwnerId = 0;
+        public long LastWeekAnswerNO1Id = 0;
         public Dictionary<long, LeagueMemberData> LeagueMemberDatas = new Dictionary<long, LeagueMemberData>();//联盟成员
     }
 

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueAnswerRankUI.cs

@@ -7,6 +7,7 @@ namespace UI.League
     public partial class UI_LeagueAnswerRankUI
     {
         public GComponent target;
+        public Controller m_c1;
         public GButton m_btnClose;
         public GList m_list;
         public UI_ListRankItem m_comMine;
@@ -57,12 +58,14 @@ namespace UI.League
 
         private void Init(GComponent comp)
         {
+            m_c1 = comp.GetController("c1");
             m_btnClose = (GButton)comp.GetChild("btnClose");
             m_list = (GList)comp.GetChild("list");
             m_comMine = (UI_ListRankItem)UI_ListRankItem.Create(comp.GetChild("comMine"));
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_c1 = null;
             m_btnClose = null;
             m_list = null;
             m_comMine.Dispose();

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Utils/TimeUtil.cs

@@ -133,7 +133,7 @@ namespace GFGGame
         }
 
         /// <summary>
-        /// 输入一段时间(秒),将时间转换成hh:ss格式
+        /// 输入一段时间(秒),将时间转换成HH:mm:ss格式
         /// </summary>
         /// <param name="timeMsec"></param>
         public static string FormattingTime5(int timeMsec)

+ 49 - 4
GameClient/Assets/Game/HotUpdate/Views/League/LeagueAnswerRankView.cs

@@ -11,6 +11,7 @@ namespace GFGGame
     {
         private UI_LeagueAnswerRankUI _ui;
 
+        private int _myIndex = -1;
         public override void Dispose()
         {
             if (_ui != null)
@@ -33,6 +34,7 @@ namespace GFGGame
             viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 
             _ui.m_btnClose.onClick.Add(Hide);
+            _ui.m_c1.onChanged.Add(OnCtrlChange);
         }
         protected override void AddEventListener()
         {
@@ -43,13 +45,13 @@ namespace GFGGame
         {
             base.OnShown();
 
-            UpdateView();
+            _ui.m_c1.selectedIndex = 1;
         }
 
         protected override void OnHide()
         {
             base.OnHide();
-
+            _ui.m_c1.selectedIndex = 0;
         }
 
         protected override void RemoveEventListener()
@@ -57,11 +59,54 @@ namespace GFGGame
             base.RemoveEventListener();
 
         }
-
+        private async void OnCtrlChange()
+        {
+            if (_ui.m_c1.selectedIndex == 1)
+            {
+                if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.End
+                && LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex].Count == 0
+                || LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) > LeagueQuestionStatus.End)
+                {
+                    await LeagueSproxy.ReqGetAnswerRank(_ui.m_c1.selectedIndex);
+                }
+                UpdateView();
+            }
+            else if (_ui.m_c1.selectedIndex == 2)
+            {
+                if (LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex].Count == 0)
+                {
+                    await LeagueSproxy.ReqGetAnswerRank(_ui.m_c1.selectedIndex);
+                }
+                UpdateView();
+            }
+        }
         private void UpdateView()
         {
-
+            _ui.m_list.numItems = LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex].Count;
         }
 
+        private void RenderListItem(int index, GObject obj)
+        {
+            UpdateItem(index, obj, false);
+        }
+        private void UpdateItem(int index, GObject obj, bool isMine)
+        {
+            LeagueAnswerData answerData = index < 0 ? null : LeagueDataManager.Instance.ListAnswerRankDatas[_ui.m_c1.selectedIndex][index];
+            UI_ListRankItem item = UI_ListRankItem.Proxy(obj);
+            if (isMine)
+            {
+                RoleInfoManager.Instance.UpdateHeadWithLv(item.target, RoleDataManager.headId, RoleDataManager.headBorderId, RoleDataManager.lvl);
+            }
+            else
+            {
+                OtherRoleInfoData roleInfoData = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[answerData.RoleId].RoleInfo;
+                RoleInfoManager.Instance.UpdateHeadWithLv(item.target, roleInfoData.headId, roleInfoData.headBorderId, roleInfoData.roleLv);
+            }
+            int rank = index + 1;
+            item.m_txtRank.text = answerData == null ? "--" : rank.ToString();
+            item.m_c1.selectedIndex = answerData != null && rank <= 3 ? rank : 0;
+            item.m_txtRank.text = string.Format("答对{0}题", answerData == null ? 0 : answerData.Num);
+            UI_ListRankItem.ProxyEnd();
+        }
     }
 }

+ 17 - 5
GameClient/Assets/Game/HotUpdate/Views/League/LeagueAnswerRewardView.cs

@@ -33,6 +33,7 @@ namespace GFGGame
             viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 
             _ui.m_btnClose.onClick.Add(Hide);
+            _ui.m_list.itemRenderer = RenderListItem;
         }
         protected override void AddEventListener()
         {
@@ -42,8 +43,8 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-
-            UpdateView();
+            _ui.m_txtRule.text = TextDescArray.Instance.GetCfg(300008).text;
+            _ui.m_list.numItems = LeagueQuestionBonusCfgArray.Instance.dataArray.Length;
         }
 
         protected override void OnHide()
@@ -58,10 +59,21 @@ namespace GFGGame
 
         }
 
-        private void UpdateView()
+        private void RenderListItem(int index, GObject obj)
         {
-
+            UI_ListAnswerRewardItem item = UI_ListAnswerRewardItem.Proxy(obj);
+            item.m_txtDesc.text = string.Format("答对{0}题", index + 1);
+            if (item.m_listReward.data == null)
+            {
+                item.m_listReward.itemRenderer = RenderListIrem;
+            }
+            item.m_listReward.numItems = LeagueQuestionBonusCfgArray.Instance.dataArray[index].bonusArr.Length;
+            UI_ListAnswerRewardItem.ProxyEnd();
+        }
+        private void RenderListIrem(int index, GObject obj)
+        {
+            int[][] rewards = (int[][])obj.parent.data;
+            ItemUtil.UpdateItemNeedNum(obj, rewards[index]);
         }
-
     }
 }

+ 37 - 5
GameClient/Assets/Game/HotUpdate/Views/League/LeagueAnswerView.cs

@@ -32,12 +32,12 @@ namespace GFGGame
             this.modal = true;
             viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 
-
+            _ui.m_btnRank.onClick.Add(OnBtnRankClick);
+            _ui.m_btnAnswer.onClick.Add(OnBtnAnswerClick);
         }
         protected override void AddEventListener()
         {
             base.AddEventListener();
-
         }
         protected override void OnShown()
         {
@@ -49,7 +49,7 @@ namespace GFGGame
         protected override void OnHide()
         {
             base.OnHide();
-
+            Timers.inst.Remove(UpdateTime);
         }
 
         protected override void RemoveEventListener()
@@ -57,11 +57,43 @@ namespace GFGGame
             base.RemoveEventListener();
 
         }
+        private void OnBtnRankClick()
+        {
+            ViewManager.Show<LeagueAnswerRankView>();
+        }
+        private void OnBtnAnswerClick()
+        {
+            ViewManager.Show<LeagueAnsweringView>();
+        }
 
         private void UpdateView()
         {
-
+            OtherRoleInfoData roleInfo = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[LeagueDataManager.Instance.LeagueData.LastWeekAnswerNO1Id].RoleInfo;
+            RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, roleInfo.headId, roleInfo.headBorderId);
+            _ui.m_txtName.text = roleInfo.roleName;
+            _ui.m_txtRule.text = TextDescCfgArray.Instance.GetCfg(300008).text;
+            if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.End)
+            {
+                _ui.m_btnAnswer.visible = false;
+                _ui.m_txtTime.visible = true;
+                Timers.inst.Add(1, 0, UpdateTime);
+            }
+            else
+            {
+                _ui.m_btnAnswer.visible = true;
+                _ui.m_txtTime.visible = false;
+            }
+        }
+        private void UpdateTime(object param)
+        {
+            if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) > LeagueQuestionStatus.End)
+            {
+                Timers.inst.Remove(UpdateTime);
+                return;
+            }
+            long curTime = TimeHelper.ServerNow();
+            long endTime = TimeUtil.GetNextTime(GlobalCfgArray.globalCfg.leagueQuestionStartTime);
+            _ui.m_txtTime.text = string.Format("{0}后开启", TimeUtil.FormattingTime5((int)(endTime - curTime)));
         }
-
     }
 }

+ 1 - 1
GameClient/Assets/ResIn/Prefab/SceneFightSingleScore.prefab

@@ -71,7 +71,7 @@ SpriteRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: -999
-  m_Sprite: {fileID: 21300000, guid: 03cdae2317655b24e9b791c43f151e7a, type: 3}
+  m_Sprite: {fileID: 21300000, guid: 0f9669578b0d7da4693d55db6bc2344d, type: 3}
   m_Color: {r: 1, g: 1, b: 1, a: 1}
   m_FlipX: 0
   m_FlipY: 0

BIN
GameClient/Assets/ResIn/UI/League/League_fui.bytes