Browse Source

万世镜

zhaoyang 2 years ago
parent
commit
1fe77e38a0
68 changed files with 998 additions and 206 deletions
  1. 9 6
      FGUIProject/assets/Arena/ArenaDanUpUI.xml
  2. 18 22
      FGUIProject/assets/Arena/ArenaRankUI.xml
  3. 1 1
      FGUIProject/assets/Arena/ArenaUI.xml
  4. 10 7
      FGUIProject/assets/Arena/components/BtnTab1.xml
  5. 7 7
      FGUIProject/assets/Arena/components/BtnTab2.xml
  6. 0 12
      FGUIProject/assets/Arena/components/ComDanDetailInfo.xml
  7. 0 10
      FGUIProject/assets/Arena/components/ComDanInfo.xml
  8. 19 0
      FGUIProject/assets/Arena/components/ListRankItem.xml
  9. 2 4
      FGUIProject/assets/Arena/components/ListRankItem0.xml
  10. 2 8
      FGUIProject/assets/Arena/components/ListRankItem1.xml
  11. 6 0
      FGUIProject/assets/Arena/components/ListRankItem2.xml
  12. 21 0
      FGUIProject/assets/Arena/components/ListRankItem3.xml
  13. 21 0
      FGUIProject/assets/Arena/components/ListRankItem4.xml
  14. 1 1
      FGUIProject/assets/Arena/components/ListTargetItem.xml
  15. BIN
      FGUIProject/assets/Arena/images/dwjj_btbt.png
  16. BIN
      FGUIProject/assets/Arena/images/hl_sczpxzi_3.png
  17. BIN
      FGUIProject/assets/Arena/images/hl_sczpxzi_4.png
  18. BIN
      FGUIProject/assets/Arena/images/phbphb_bsjbt_1.png
  19. BIN
      FGUIProject/assets/Arena/images/phbphb_bsjbt_2.png
  20. BIN
      FGUIProject/assets/Arena/images/phbphb_btdidi_1.png
  21. BIN
      FGUIProject/assets/Arena/images/phbphb_btdidi_2.png
  22. BIN
      FGUIProject/assets/Arena/images/phbphb_pbtdi.png
  23. BIN
      FGUIProject/assets/Arena/images/phbphb_phdi_1.png
  24. BIN
      FGUIProject/assets/Arena/images/phbphb_txkk.png
  25. BIN
      FGUIProject/assets/Arena/images/phbphb_xxt.png
  26. BIN
      FGUIProject/assets/Arena/images/phbphb_zidi_1.png
  27. BIN
      FGUIProject/assets/Arena/images/phbphb_zidi_2.png
  28. BIN
      FGUIProject/assets/Arena/images/phbphb_ziti_1.png
  29. BIN
      FGUIProject/assets/Arena/images/phbphb_ziti_2.png
  30. BIN
      FGUIProject/assets/Arena/images/phbphb_ziti_3.png
  31. BIN
      FGUIProject/assets/Arena/images/phbphb_ziti_4.png
  32. BIN
      FGUIProject/assets/Arena/images/phbphb_zjpm.png
  33. BIN
      FGUIProject/assets/Arena/images/pmts_ffbtbt.png
  34. 25 4
      FGUIProject/assets/Arena/package.xml
  35. 1 1
      FGUIProject/assets/CommonGame/components/ComLv.xml
  36. 27 3
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  37. 1 1
      GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs
  38. 1 1
      GameClient/Assets/Game/HotUpdate/Data/VO/ArenaData.cs
  39. 2 1
      GameClient/Assets/Game/HotUpdate/Data/VO/FightData.cs
  40. 2 1
      GameClient/Assets/Game/HotUpdate/Data/VO/OtherRoleInfoData.cs
  41. 10 17
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaRankUI.cs
  42. 95 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem.cs
  43. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem.cs.meta
  44. 17 16
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem0.cs
  45. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem0.cs.meta
  46. 5 19
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem1.cs
  47. 17 16
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem2.cs
  48. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem2.cs.meta
  49. 92 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem3.cs
  50. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem3.cs.meta
  51. 92 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem4.cs
  52. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem4.cs.meta
  53. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListTargetItem.cs
  54. 74 33
      GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs
  55. 94 4
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs
  56. 94 7
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs
  57. 2 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  58. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0!a.png
  59. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0.png
  60. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1!a.png
  61. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1.png
  62. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3!a.png
  63. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3.png
  64. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4!a.png
  65. 96 0
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4!a.png.meta
  66. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4.png
  67. 96 0
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4.png.meta
  68. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes

+ 9 - 6
FGUIProject/assets/Arena/ArenaDanUpUI.xml

@@ -1,17 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="1080,1920" designImage="ui://4lc5fhlbpsphg" designImageOffsetX="-19" designImageAlpha="0">
-  <controller name="c1" pages="0,,1," selected="1">
+<component size="1080,950" designImage="ui://4lc5fhlbpsphg" designImageOffsetX="-19" designImageAlpha="0">
+  <controller name="c1" pages="0,,1," selected="0">
     <remark page="0" value="首次段位提升"/>
     <remark page="1" value="非首次段位提升"/>
   </controller>
   <displayList>
-    <loader id="n2_psph" name="loaDanIcon" xy="440,625" size="200,200" url="ui://4lc5fhlbpsphz" autoSize="true"/>
-    <list id="n1_psph" name="listFirstDanReward" xy="186,1206" size="708,259" layout="row" defaultItem="ui://eg2y0ldpj48o98" align="center" autoClearItems="true">
-      <gearDisplay controller="c1" pages="1"/>
+    <image id="n6_jcej" name="n6" src="jcej1p" fileName="images/pmts_ditu.png" xy="0,43"/>
+    <image id="n4_jcej" name="n4" src="jcej40" fileName="images/dwjj_btbt.png" xy="67,-22"/>
+    <image id="n5_jcej" name="n5" src="jcej3z" fileName="images/pmts_ffbtbt.png" xy="422,540"/>
+    <loader id="n2_psph" name="loaDanIcon" xy="440,214" size="200,200" url="ui://4lc5fhlbpsphz" autoSize="true"/>
+    <list id="n1_psph" name="listFirstDanReward" xy="140,600" pivot="0.5,0" size="799,221" scale="0.7,0.7" layout="row" colGap="50" defaultItem="ui://eg2y0ldpj48o98" align="center" autoClearItems="true">
+      <gearDisplay controller="c1" pages="0"/>
       <item/>
       <item/>
       <item/>
     </list>
-    <text id="n3_psph" name="txtDanTitle" xy="472,1021" pivot="0.5,0" size="136,46" fontSize="34" text="段位名字"/>
+    <text id="n3_psph" name="txtDanTitle" xy="474,419" pivot="0.5,0" size="132,44" font="ui://eg2y0ldpwonotjc" fontSize="32" color="#fef7f6" text="段位名字"/>
   </displayList>
 </component>

+ 18 - 22
FGUIProject/assets/Arena/ArenaRankUI.xml

@@ -1,43 +1,39 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="1080,1920" designImage="ui://4lc5fhlbpsphe" designImageOffsetX="-379" designImageAlpha="0">
+<component size="978,1200" designImage="ui://4lc5fhlbpsphe" designImageOffsetX="-379" designImageAlpha="0">
   <controller name="c1" pages="0,,1," selected="0">
     <remark page="0" value="本服排行"/>
     <remark page="1" value="好友排行"/>
   </controller>
-  <controller name="c2" pages="0,,1," selected="0">
+  <controller name="c2" pages="0,,1," selected="1">
     <remark page="0" value="本赛季"/>
     <remark page="1" value="上赛季"/>
   </controller>
   <displayList>
-    <image id="n10_psph" name="n10" src="uyuxzx" fileName="imagesExport/xc_xzdik.png" pkg="eg2y0ldp" xy="300,387" size="550,76" group="n13_psph"/>
-    <component id="n11_psph" name="btn0" src="psphs" fileName="components/BtnTab1.xml" xy="294,388" group="n13_psph">
-      <Button title="本服排行" controller="c1" page="0"/>
+    <image id="n27_jcej" name="n27" src="jcej27" fileName="images/kstzjj_di.png" xy="0,0"/>
+    <component id="n11_psph" name="btn0" src="psphs" fileName="components/BtnTab1.xml" xy="21,21" group="n13_psph">
+      <Button checked="true" title="本服排行" icon="ui://4lc5fhlbjcej4c" selectedIcon="ui://4lc5fhlbjcej49" controller="c1" page="0"/>
     </component>
-    <component id="n12_psph" name="btn1" src="psphs" fileName="components/BtnTab1.xml" xy="575,388" group="n13_psph">
-      <Button title="好友排行" controller="c1" page="1"/>
+    <component id="n12_psph" name="btn1" src="psphs" fileName="components/BtnTab1.xml" xy="476,21" group="n13_psph">
+      <Button title="好友排行" icon="ui://4lc5fhlbjcej4b" selectedIcon="ui://4lc5fhlbjcej4a" controller="c1" page="1"/>
     </component>
-    <group id="n13_psph" name="n13" xy="294,387" size="561,83"/>
-    <image id="n14_psph" name="n14" src="uyuxzx" fileName="imagesExport/xc_xzdik.png" pkg="eg2y0ldp" xy="306,488" size="550,76" group="n17_psph"/>
-    <component id="n15_psph" name="btn00" src="psph11" fileName="components/BtnTab2.xml" xy="300,489" group="n17_psph">
-      <Button title="本赛季" controller="c2" page="0"/>
+    <group id="n13_psph" name="n13" xy="21,21" size="910,96" advanced="true" layout="hz" excludeInvisibles="true"/>
+    <image id="n14_psph" name="n14" src="jcej41" fileName="images/phbphb_btdidi_1.png" xy="181,163" size="585,76" group="n17_psph"/>
+    <component id="n15_psph" name="btn00" src="psph11" fileName="components/BtnTab2.xml" xy="179,160" group="n17_psph">
+      <Button icon="ui://4lc5fhlbjcej4g" selectedIcon="ui://4lc5fhlbjcej4i" controller="c2" page="0"/>
     </component>
-    <component id="n16_psph" name="btn01" src="psph11" fileName="components/BtnTab2.xml" xy="581,489" group="n17_psph">
-      <Button title="上赛季" controller="c2" page="1"/>
+    <component id="n16_psph" name="btn01" src="psph11" fileName="components/BtnTab2.xml" xy="472,160" group="n17_psph">
+      <Button checked="true" icon="ui://4lc5fhlbjcej4h" selectedIcon="ui://4lc5fhlbjcej4j" controller="c2" page="1"/>
     </component>
-    <list id="n25_psph" name="listRank" xy="198,577" size="782,568" group="n17_psph" overflow="scroll" defaultItem="ui://4lc5fhlbpsphy" autoClearItems="true" foldInvisibleItems="true">
-      <item/>
-      <item/>
-      <item/>
-    </list>
-    <component id="n24_psph" name="comMyRank" src="psphy" fileName="components/ListRankItem1.xml" xy="197,1149" group="n17_psph"/>
-    <group id="n17_psph" name="n17" xy="197,488" size="824,877" advanced="true">
+    <group id="n17_psph" name="n17" xy="179,160" size="589,83" advanced="true">
       <gearDisplay controller="c1" pages="0"/>
     </group>
-    <list id="n26_psph" name="listFriendRank" xy="178,502" size="782,822" overflow="scroll" defaultItem="ui://4lc5fhlbpsphy" autoClearItems="true">
-      <gearDisplay controller="c1" pages="1"/>
+    <list id="n25_psph" name="listRank" xy="30,316" size="888,685" overflow="scroll" lineGap="20" defaultItem="ui://4lc5fhlbpsphy" autoClearItems="true" foldInvisibleItems="true">
+      <gearSize controller="c1" pages="1" values="888,821,1,1" default="888,685,1,1"/>
+      <relation target="" sidePair="bottom-bottom"/>
       <item/>
       <item/>
       <item/>
     </list>
+    <component id="n24_psph" name="comMyRank" src="jcej4k" fileName="components/ListRankItem4.xml" xy="17,1002"/>
   </displayList>
 </component>

+ 1 - 1
FGUIProject/assets/Arena/ArenaUI.xml

@@ -34,7 +34,7 @@
       <relation target="" sidePair="center-center,middle-middle"/>
       <Button icon="ui://4lc5fhlbjcej38"/>
     </component>
-    <list id="n36_psph" name="listTarget" xy="496,662" size="584,636" defaultItem="ui://4lc5fhlbpsph1m">
+    <list id="n36_psph" name="listTarget" xy="496,662" size="584,636" defaultItem="ui://4lc5fhlbpsph1m" autoClearItems="true">
       <gearDisplay controller="c1" pages="0"/>
       <relation target="" sidePair="middle-middle,right-right"/>
       <item/>

+ 10 - 7
FGUIProject/assets/Arena/components/BtnTab1.xml

@@ -1,11 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="280,82" extention="Button">
-  <controller name="c1" pages="0,,1," selected="0"/>
+<component size="455,96" extention="Button">
+  <controller name="button" pages="0,down,1,up" selected="1"/>
   <displayList>
-    <loader id="n4_psph" name="icon" xy="140,41" pivot="0.5,0.5" anchor="true" size="280,82" url="ui://4lc5fhlbpsphk" autoSize="true"/>
-    <text id="n5_psph" name="title" xy="-22,-5" size="324,92" fontSize="40" align="center" vAlign="middle" autoSize="none" text="">
-      <relation target="" sidePair="width-width,height-height"/>
-    </text>
+    <image id="n7_jcej" name="n7" src="jcej47" fileName="images/phbphb_zidi_1.png" xy="0,0">
+      <gearDisplay controller="button" pages="0"/>
+    </image>
+    <image id="n8_jcej" name="n8" src="jcej48" fileName="images/phbphb_zidi_2.png" xy="0,0">
+      <gearDisplay controller="button" pages="1"/>
+    </image>
+    <loader id="n4_psph" name="icon" xy="227,48" pivot="0.5,0.5" anchor="true" size="455,96" url="ui://4lc5fhlbjcej48" autoSize="true"/>
   </displayList>
-  <Button/>
+  <Button mode="Radio"/>
 </component>

+ 7 - 7
FGUIProject/assets/Arena/components/BtnTab2.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="280,82" extention="Button">
-  <controller name="c1" pages="0,,1," selected="0"/>
+<component size="296,83" extention="Button">
+  <controller name="button" pages="0,down,1,up" selected="0"/>
   <displayList>
-    <loader id="n4_psph" name="icon" xy="140,41" pivot="0.5,0.5" anchor="true" size="280,82" url="ui://4lc5fhlbpsphk" autoSize="true"/>
-    <text id="n5_psph" name="title" xy="-22,-5" size="324,92" fontSize="40" align="center" vAlign="middle" autoSize="none" text="">
-      <relation target="" sidePair="width-width,height-height"/>
-    </text>
+    <image id="n6_jcej" name="n6" src="jcej42" fileName="images/phbphb_btdidi_2.png" xy="0,0">
+      <gearDisplay controller="button" pages="0"/>
+    </image>
+    <loader id="n4_psph" name="icon" xy="148,41" pivot="0.5,0.5" anchor="true" size="280,82" autoSize="true"/>
   </displayList>
-  <Button/>
+  <Button mode="Radio"/>
 </component>

+ 0 - 12
FGUIProject/assets/Arena/components/ComDanDetailInfo.xml

@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<component size="405,230">
-  <controller name="c1" exported="true" pages="0,,1," selected="1"/>
-  <displayList>
-    <component id="n5_psph" name="comHeadWithlv" src="psph10" fileName="components/ComHeadWithLv.xml" pkg="eg2y0ldp" xy="175,-1">
-      <gearXY controller="c1" pages="1" values="175,-1" default="-16,-1"/>
-    </component>
-    <component id="n3_psph" name="comRankInfo" src="pspht" fileName="components/ComDanInfo.xml" xy="0,29">
-      <gearXY controller="c1" pages="1" values="0,29" default="201,29"/>
-    </component>
-  </displayList>
-</component>

+ 0 - 10
FGUIProject/assets/Arena/components/ComDanInfo.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<component size="204,182">
-  <displayList>
-    <loader id="n3_psph" name="loaDanIcon" xy="20,-1" size="150,152" url="ui://4lc5fhlbpsphz" fill="scaleNoBorder"/>
-    <text id="n4_psph" name="txtDanTitle" xy="84,140" pivot="0.5,0" size="120,41" fontSize="30" align="center" autoClearText="true" text="段位名称"/>
-    <text id="n5_psph" name="txtRank" xy="0,139" pivot="0.5,0" size="120,41" fontSize="30" align="center" autoClearText="true" text="段位排名"/>
-    <text id="n6_psph" name="txtScore" xy="12,47" pivot="0.5,0" size="150,41" fontSize="30" align="center" text="竞技场战力"/>
-    <text id="n7_psph" name="txtName" xy="13,0" pivot="0.5,0" size="120,41" fontSize="30" align="center" autoClearText="true" text="玩家名称"/>
-  </displayList>
-</component>

+ 19 - 0
FGUIProject/assets/Arena/components/ListRankItem.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="258,430">
+  <controller name="c1" pages="0,,1,,2,,3," selected="1"/>
+  <displayList>
+    <image id="n6_jcej" name="n6" src="jcej43" fileName="images/phbphb_pbtdi.png" xy="0,0"/>
+    <image id="n16_jcej" name="n16" src="jcej46" fileName="images/phbphb_xxt.png" xy="9,283"/>
+    <component id="n5_psph" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="3,17" scale="1.117,1.117"/>
+    <component id="n9_jcej" name="comLv" src="psphq" fileName="components/ComLv.xml" pkg="eg2y0ldp" xy="185,207"/>
+    <image id="n8_jcej" name="n8" src="jcej45" fileName="images/phbphb_txkk.png" xy="36,58"/>
+    <loader id="n7_jcej" name="loaRank" xy="85,21" size="88,87" url="ui://4lc5fhlbjcej3m" autoSize="true">
+      <gearIcon controller="c1" pages="2,3" values="ui://4lc5fhlbjcej3l|ui://4lc5fhlbjcej3k" default="ui://4lc5fhlbjcej3m"/>
+    </loader>
+    <component id="n10_jcej" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="182,57" scale="0.9,0.9"/>
+    <loader id="n12_jcej" name="loaDanIcon" xy="94,358" size="69,65" url="ui://4lc5fhlbpsphz" fill="scale"/>
+    <text id="n15_jcej" name="txtName" xy="68,242" pivot="0.5,0" size="122,41" font="ui://eg2y0ldpwonotjc" fontSize="30" color="#927550" align="center" autoClearText="true" text="玩家名称"/>
+    <text id="n13_jcej" name="txtRank" xy="30,323" size="139,34" font="ui://eg2y0ldpwonotjc" fontSize="24" color="#927550" align="center" autoClearText="true" text="段位排名:1"/>
+    <text id="n14_jcej" name="txtScore" xy="30,288" size="218,34" font="ui://eg2y0ldpwonotjc" fontSize="24" color="#927550" letterSpacing="-2" text="竞技场战力:111111"/>
+  </displayList>
+</component>

+ 2 - 4
FGUIProject/assets/Arena/components/ListRankItem0.xml

@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="824,460">
+<component size="888,170">
   <displayList>
-    <component id="n9_psph" name="listItem0" src="psphu" fileName="components/ComDanDetailInfo.xml" xy="298,0"/>
-    <component id="n10_psph" name="listItem1" src="psphu" fileName="components/ComDanDetailInfo.xml" xy="0,222" controller="c1,1"/>
-    <component id="n11_psph" name="listItem2" src="psphu" fileName="components/ComDanDetailInfo.xml" xy="419,230" controller="c1,0"/>
+    <component id="n9_psph" name="ListRankItem" src="psphu" fileName="components/ListRankItem.xml" xy="315,0"/>
   </displayList>
 </component>

+ 2 - 8
FGUIProject/assets/Arena/components/ListRankItem1.xml

@@ -1,12 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="824,216">
+<component size="888,0">
   <displayList>
-    <text id="n12_psph" name="txtRank" xy="56,113" pivot="0.5,0" size="55,41" group="n18_psph" fontSize="30" align="center" autoClearText="true" text="999"/>
-    <component id="n13_psph" name="comHeadwithLv" src="psph10" fileName="components/ComHeadWithLv.xml" pkg="eg2y0ldp" xy="115,0" size="229,230" group="n18_psph"/>
-    <text id="n14_psph" name="txtName" xy="332,86" size="62,41" group="n18_psph" fontSize="30" align="center" autoClearText="true" text="名字"/>
-    <text id="n15_psph" name="txtArenaScore" xy="323,132" size="201,41" group="n18_psph" fontSize="30" align="center" autoClearText="true" text="竞技战力:999"/>
-    <loader id="n16_psph" name="loaDanIcon" xy="632,75" size="99,98" group="n18_psph" url="ui://4lc5fhlbpsphz" fill="scale"/>
-    <text id="n17_psph" name="txtDanRank" xy="743,127" size="40,42" group="n18_psph" fontSize="30" align="center" text=""/>
-    <group id="n18_psph" name="n18" xy="56,0" size="727,230"/>
+    <component id="n9_psph" name="ListRankItem" src="psphu" fileName="components/ListRankItem.xml" xy="0,0"/>
   </displayList>
 </component>

+ 6 - 0
FGUIProject/assets/Arena/components/ListRankItem2.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="888,430">
+  <displayList>
+    <component id="n9_psph" name="ListRankItem" src="psphu" fileName="components/ListRankItem.xml" xy="630,0"/>
+  </displayList>
+</component>

+ 21 - 0
FGUIProject/assets/Arena/components/ListRankItem3.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="888,151">
+  <displayList>
+    <image id="n19_jcej" name="n19" src="jcej44" fileName="images/phbphb_phdi_1.png" xy="0,0"/>
+    <text id="n12_psph" name="txtRank" xy="68,41" pivot="0.5,0" size="49,59" group="n18_psph" font="ui://eg2y0ldpwonotjc" fontSize="44" color="#a98860" align="center" autoClearText="true" text="--"/>
+    <loader id="n16_psph" name="loaDanIcon" xy="615,20" size="99,98" group="n18_psph" url="ui://4lc5fhlbpsphz" fill="scale" clearOnPublish="true"/>
+    <text id="n26_jcej" name="n26" xy="729,24" size="122,41" group="n27_jcej" font="ui://eg2y0ldpwonotjc" fontSize="30" color="#c09c6d" text="段位排行"/>
+    <text id="n17_psph" name="txtDanRank" xy="770,58" pivot="0.5,0" size="40,56" group="n27_jcej" font="ui://eg2y0ldpweoktkb" fontSize="42" color="#c09c6d" align="center" letterSpacing="-2" bold="true" text="--"/>
+    <group id="n27_jcej" name="n27" xy="729,24" size="122,90" group="n18_psph"/>
+    <text id="n14_psph" name="txtName" xy="300,20" size="42,51" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="38" color="#927550" align="center" autoClearText="true" text="--"/>
+    <image id="n25_jcej" name="n25" src="jcej3n" fileName="images/jzsjzs_xxxtxt.png" xy="299,71" group="n29_jcej"/>
+    <text id="n15_psph" name="txtArenaScore" xy="300,78" size="201,39" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="28" color="#9b7c56" align="center" autoClearText="true" text="竞技场战力:--"/>
+    <group id="n29_jcej" name="n29" xy="299,20" size="236,97" group="n18_psph"/>
+    <component id="n13_psph" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="152,-1" size="229,230" group="n30_jcej" scale="0.58,0.58"/>
+    <image id="n22_jcej" name="n22" src="jcej2c" fileName="images/jjsjs_txk_2.png" xy="168,20" group="n30_jcej"/>
+    <component id="n24_jcej" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="233,20" group="n30_jcej" scale="0.6,0.6"/>
+    <component id="n23_jcej" name="comLv" src="psphq" fileName="components/ComLv.xml" pkg="eg2y0ldp" xy="230,84" group="n30_jcej" scale="0.9,0.9"/>
+    <group id="n30_jcej" name="n30" xy="152,-1" size="229,230" group="n18_psph"/>
+    <group id="n18_psph" name="n18" xy="68,-1" size="783,230"/>
+  </displayList>
+</component>

+ 21 - 0
FGUIProject/assets/Arena/components/ListRankItem4.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="916,165">
+  <displayList>
+    <image id="n19_jcej" name="n19" src="jcej4d" fileName="images/phbphb_zjpm.png" xy="0,0"/>
+    <text id="n12_psph" name="txtRank" xy="71,54" pivot="0.5,0" size="49,59" group="n18_psph" font="ui://eg2y0ldpwonotjc" fontSize="44" color="#a98860" align="center" autoClearText="true" text="--"/>
+    <loader id="n16_psph" name="loaDanIcon" xy="619,33" size="99,98" group="n18_psph" url="ui://4lc5fhlbpsphz" fill="scale"/>
+    <text id="n26_jcej" name="n26" xy="733,37" size="122,41" group="n27_jcej" font="ui://eg2y0ldpwonotjc" fontSize="30" color="#c09c6d" text="段位排行"/>
+    <text id="n17_psph" name="txtDanRank" xy="774,71" pivot="0.5,0" size="40,56" group="n27_jcej" font="ui://eg2y0ldpweoktkb" fontSize="42" color="#c09c6d" align="center" letterSpacing="-2" bold="true" text="--"/>
+    <group id="n27_jcej" name="n27" xy="733,37" size="122,90" group="n18_psph"/>
+    <text id="n14_psph" name="txtName" xy="305,33" size="42,52" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="38" color="#927550" align="center" autoClearText="true" text="--"/>
+    <image id="n25_jcej" name="n25" src="jcej3n" fileName="images/jzsjzs_xxxtxt.png" xy="303,84" group="n29_jcej"/>
+    <text id="n15_psph" name="txtArenaScore" xy="304,91" size="201,39" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="28" color="#9b7c56" align="center" autoClearText="true" text="竞技场战力:--"/>
+    <group id="n29_jcej" name="n29" xy="303,33" size="236,97" group="n18_psph"/>
+    <component id="n13_psph" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="156,12" size="229,230" group="n30_jcej" scale="0.58,0.58"/>
+    <image id="n22_jcej" name="n22" src="jcej2c" fileName="images/jjsjs_txk_2.png" xy="172,33" group="n30_jcej"/>
+    <component id="n24_jcej" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="237,33" group="n30_jcej" scale="0.6,0.6"/>
+    <component id="n23_jcej" name="comLv" src="psphq" fileName="components/ComLv.xml" pkg="eg2y0ldp" xy="234,97" group="n30_jcej" scale="0.9,0.9"/>
+    <group id="n30_jcej" name="n30" xy="156,12" size="229,230" group="n18_psph"/>
+    <group id="n18_psph" name="n18" xy="71,12" size="783,230"/>
+  </displayList>
+</component>

+ 1 - 1
FGUIProject/assets/Arena/components/ListTargetItem.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="573,196">
   <displayList>
-    <image id="n36_jcej" name="n36" src="jcej3b" fileName="images/jzsjzs_gth.png" xy="0,0"/>
+    <loader id="n45_jcej" name="loaBg" xy="0,0" size="573,196" url="ui://4lc5fhlbjcej3b" autoSize="true"/>
     <image id="n37_jcej" name="n37" src="jcej3n" fileName="images/jzsjzs_xxxtxt.png" xy="192,80"/>
     <component id="n31_psph" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="106,95" pivot="0.5,0.5" anchor="true" group="n42_jcej" scale="0.725,0.725"/>
     <image id="n40_jcej" name="n40" src="jcej33" fileName="images/jzsjzs_txktx.png" xy="44,38" group="n42_jcej"/>

BIN
FGUIProject/assets/Arena/images/dwjj_btbt.png


BIN
FGUIProject/assets/Arena/images/hl_sczpxzi_3.png


BIN
FGUIProject/assets/Arena/images/hl_sczpxzi_4.png


BIN
FGUIProject/assets/Arena/images/phbphb_bsjbt_1.png


BIN
FGUIProject/assets/Arena/images/phbphb_bsjbt_2.png


BIN
FGUIProject/assets/Arena/images/phbphb_btdidi_1.png


BIN
FGUIProject/assets/Arena/images/phbphb_btdidi_2.png


BIN
FGUIProject/assets/Arena/images/phbphb_pbtdi.png


BIN
FGUIProject/assets/Arena/images/phbphb_phdi_1.png


BIN
FGUIProject/assets/Arena/images/phbphb_txkk.png


BIN
FGUIProject/assets/Arena/images/phbphb_xxt.png


BIN
FGUIProject/assets/Arena/images/phbphb_zidi_1.png


BIN
FGUIProject/assets/Arena/images/phbphb_zidi_2.png


BIN
FGUIProject/assets/Arena/images/phbphb_ziti_1.png


BIN
FGUIProject/assets/Arena/images/phbphb_ziti_2.png


BIN
FGUIProject/assets/Arena/images/phbphb_ziti_3.png


BIN
FGUIProject/assets/Arena/images/phbphb_ziti_4.png


BIN
FGUIProject/assets/Arena/images/phbphb_zjpm.png


BIN
FGUIProject/assets/Arena/images/pmts_ffbtbt.png


+ 25 - 4
FGUIProject/assets/Arena/package.xml

@@ -26,11 +26,10 @@
     <component id="psphp" name="ListRecordItem.xml" path="/components/"/>
     <component id="psphr" name="ComDanSimpleInfo.xml" path="/components/"/>
     <component id="psphs" name="BtnTab1.xml" path="/components/"/>
-    <component id="pspht" name="ComDanInfo.xml" path="/components/"/>
-    <component id="psphu" name="ComDanDetailInfo.xml" path="/components/"/>
-    <component id="psphv" name="ListRankItem0.xml" path="/components/"/>
+    <component id="psphu" name="ListRankItem.xml" path="/components/" exported="true"/>
+    <component id="psphv" name="ListRankItem0.xml" path="/components/" exported="true"/>
     <component id="psphx" name="ArenaResultQuickUI.xml" path="/" exported="true"/>
-    <component id="psphy" name="ListRankItem1.xml" path="/components/"/>
+    <component id="psphy" name="ListRankItem3.xml" path="/components/"/>
     <image id="psphz" name="hqtjtbtb.png" path="/images/"/>
     <component id="psph11" name="BtnTab2.xml" path="/components/"/>
     <image id="psph12" name="tujian_zkanniu.png" path="/images/" exported="true"/>
@@ -131,6 +130,28 @@
     <image id="jcej3w" name="dwjl_btbt.png" path="/images/"/>
     <image id="jcej3x" name="dwjl_ylqylq.png" path="/images/"/>
     <component id="jcej3y" name="ComCostCurrency.xml" path="/components/"/>
+    <image id="jcej3z" name="pmts_ffbtbt.png" path="/images/"/>
+    <image id="jcej40" name="dwjj_btbt.png" path="/images/"/>
+    <image id="jcej41" name="phbphb_btdidi_1.png" path="/images/" scale="9grid" scale9grid="146,20,292,40"/>
+    <image id="jcej42" name="phbphb_btdidi_2.png" path="/images/"/>
+    <image id="jcej43" name="phbphb_pbtdi.png" path="/images/"/>
+    <image id="jcej44" name="phbphb_phdi_1.png" path="/images/"/>
+    <image id="jcej45" name="phbphb_txkk.png" path="/images/"/>
+    <image id="jcej46" name="phbphb_xxt.png" path="/images/"/>
+    <image id="jcej47" name="phbphb_zidi_1.png" path="/images/"/>
+    <image id="jcej48" name="phbphb_zidi_2.png" path="/images/"/>
+    <image id="jcej49" name="phbphb_ziti_1.png" path="/images/"/>
+    <image id="jcej4a" name="phbphb_ziti_2.png" path="/images/"/>
+    <image id="jcej4b" name="phbphb_ziti_3.png" path="/images/"/>
+    <image id="jcej4c" name="phbphb_ziti_4.png" path="/images/"/>
+    <image id="jcej4d" name="phbphb_zjpm.png" path="/images/"/>
+    <component id="jcej4e" name="ListRankItem1.xml" path="/components/" exported="true"/>
+    <component id="jcej4f" name="ListRankItem2.xml" path="/components/" exported="true"/>
+    <image id="jcej4g" name="hl_sczpxzi_3.png" path="/images/"/>
+    <image id="jcej4h" name="hl_sczpxzi_4.png" path="/images/"/>
+    <image id="jcej4i" name="phbphb_bsjbt_1.png" path="/images/"/>
+    <image id="jcej4j" name="phbphb_bsjbt_2.png" path="/images/"/>
+    <component id="jcej4k" name="ListRankItem4.xml" path="/components/"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Arena" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 1 - 1
FGUIProject/assets/CommonGame/components/ComLv.xml

@@ -2,7 +2,7 @@
 <component size="42,43">
   <displayList>
     <image id="n2_psph" name="n2" src="psphtkf" fileName="imagesExport/zjm_dj_1.png" xy="0,0" group="n4_psph"/>
-    <text id="n3_psph" name="txtLvl" xy="7,6" size="27,29" group="n4_psph" fontSize="20" color="#ffffff" align="center" text="99">
+    <text id="n3_psph" name="txtLvl" xy="9,6" size="22,29" group="n4_psph" fontSize="20" color="#ffffff" align="center" text="--">
       <relation target="n2_psph" sidePair="center-center,middle-middle"/>
     </text>
     <group id="n4_psph" name="n4" xy="0,0" size="42,43"/>

+ 27 - 3
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -16,7 +16,7 @@ namespace GFGGame
         public List<FightRoleData> DressupList = new List<FightRoleData>();//我的搭配列表
         public List<ArenaTargetData> Targets = new List<ArenaTargetData>();//对手
         public ArenaTargetData SelfData = new ArenaTargetData();//自己的排行榜信息
-        public List<ArenaTargetData> rankDatas = new List<ArenaTargetData>();//排行榜数据
+        public Dictionary<int, List<ArenaTargetData>> rankDatasDic = new Dictionary<int, List<ArenaTargetData>>();//排行榜数据
         public List<ArenaHistoryData> historyDatas = new List<ArenaHistoryData>();//获取竞技场历史记录
 
         public int SelectThemeIndex = 0;//当前选中换装主题(ThemeList)的下标
@@ -137,6 +137,32 @@ namespace GFGGame
         }
 
 
+
+
+        /*********************************************************************************************************************/
+        /// <summary>
+        /// 获取三套服装总战力
+        /// </summary>
+        /// <param name="roleType"></param>
+        /// <param name="roleDatas"></param>
+        /// <param name="robotDatas"></param>
+        /// <returns></returns>
+        public int GetAllFightScore(int roleType, List<FightRoleData> roleDatas, List<FightRobotData> robotDatas)
+        {
+            int fightScore = 0;
+            for (int i = 0; i < ThemeList.Count; i++)
+            {
+                if (roleType == ArenaFightTargetType.PLAYER)
+                {
+                    fightScore += GetArenaRoleFightScore(roleDatas[i]);
+                }
+                else
+                {
+                    fightScore += GetArenaRobotFightScore(robotDatas[i]);
+                }
+            }
+            return fightScore;
+        }
         /// <summary>
         /// 获取玩家竞技场战力
         /// </summary>
@@ -157,8 +183,6 @@ namespace GFGGame
 
             return (int)Math.Ceiling(fightScore);
         }
-
-        /*********************************************************************************************************************/
         /// <summary>
         /// 获取竞技场机器人战力
         /// </summary>

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs

@@ -187,7 +187,7 @@ namespace GFGGame
 
             _roleData.name = RoleDataManager.roleName;
             _roleData.headId = RoleDataManager.headId;
-            _roleData.headBorderId = RoleDataManager.headBorderId;
+            // _roleData.headBorderId = RoleDataManager.headBorderId;
             _roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).baseScore;//角色等级分数
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
             {

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

@@ -7,7 +7,7 @@ namespace GFGGame
         public int Grade;//本赛季段位
         public int RankInGrade;//本赛季段位内排名
         public int Type; //类型,由FightTargetType定义
-        public OtherRoleInfoData RoleInfo; //玩家数据
+        public OtherRoleInfoData RoleInfo = new OtherRoleInfoData(); //玩家数据
         public List<FightRoleData> RoleDressupList = new List<FightRoleData>();//搭配列表,与RobotDressupList只能存在一个,取决于Type
         public List<FightRobotData> RobotDressupList = new List<FightRobotData>();//机器人搭配列表,与RoleDressupList只能存在一个,取决于Type
 

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Data/VO/FightData.cs

@@ -8,7 +8,7 @@ namespace GFGGame
         // public int fightScene;//玩家自己才会填充数据, 战斗场景,由ConstInstanceZonesType定义
         public string name;//玩家名字
         public int headId;//头像id
-        public int headBorderId;//头像框id
+        // public int headBorderId;//头像框id
         public int scoreType;//本次战斗的主题
         public int baseScore;//角色等级分数
         public int cardId;//卡牌id
@@ -24,6 +24,7 @@ namespace GFGGame
     public class FightRobotData
     {
         public string name;
+        public int lv;//玩家等级
         public string res;//资源名
         public int scoreType;//本次战斗的主题
         public int baseScore;

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

@@ -4,10 +4,11 @@ namespace GFGGame
 {
     public class OtherRoleInfoData//其他玩家摘要信息
     {
-        public long roleId;
+        public long roleId;//机器人为0
         public string roleName;
         public int roleLv;
         public int roleHead;//头像
+        public string roleHeadRes;//头像资源,机器人用
         public int roleHeadBorder;//头像框
         public long offlineTimeSec;//离线时间戳,单位秒,0表示在线
 

+ 10 - 17
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaRankUI.cs

@@ -9,13 +9,12 @@ namespace UI.Arena
         public GComponent target;
         public Controller m_c1;
         public Controller m_c2;
-        public UI_BtnTab1 m_btn0;
-        public UI_BtnTab1 m_btn1;
-        public UI_BtnTab2 m_btn00;
-        public UI_BtnTab2 m_btn01;
+        public GButton m_btn0;
+        public GButton m_btn1;
+        public GButton m_btn00;
+        public GButton m_btn01;
         public GList m_listRank;
-        public UI_ListRankItem1 m_comMyRank;
-        public GList m_listFriendRank;
+        public UI_ListRankItem4 m_comMyRank;
         public const string URL = "ui://4lc5fhlbpsph5";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ArenaRankUI";
@@ -65,30 +64,24 @@ namespace UI.Arena
         {
             m_c1 = comp.GetController("c1");
             m_c2 = comp.GetController("c2");
-            m_btn0 = (UI_BtnTab1)UI_BtnTab1.Create(comp.GetChild("btn0"));
-            m_btn1 = (UI_BtnTab1)UI_BtnTab1.Create(comp.GetChild("btn1"));
-            m_btn00 = (UI_BtnTab2)UI_BtnTab2.Create(comp.GetChild("btn00"));
-            m_btn01 = (UI_BtnTab2)UI_BtnTab2.Create(comp.GetChild("btn01"));
+            m_btn0 = (GButton)comp.GetChild("btn0");
+            m_btn1 = (GButton)comp.GetChild("btn1");
+            m_btn00 = (GButton)comp.GetChild("btn00");
+            m_btn01 = (GButton)comp.GetChild("btn01");
             m_listRank = (GList)comp.GetChild("listRank");
-            m_comMyRank = (UI_ListRankItem1)UI_ListRankItem1.Create(comp.GetChild("comMyRank"));
-            m_listFriendRank = (GList)comp.GetChild("listFriendRank");
+            m_comMyRank = (UI_ListRankItem4)UI_ListRankItem4.Create(comp.GetChild("comMyRank"));
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
             m_c2 = null;
-            m_btn0.Dispose();
             m_btn0 = null;
-            m_btn1.Dispose();
             m_btn1 = null;
-            m_btn00.Dispose();
             m_btn00 = null;
-            m_btn01.Dispose();
             m_btn01 = null;
             m_listRank = null;
             m_comMyRank.Dispose();
             m_comMyRank = null;
-            m_listFriendRank = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 95 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem.cs

@@ -0,0 +1,95 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Arena
+{
+    public partial class UI_ListRankItem
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GComponent m_comHead;
+        public GComponent m_comLv;
+        public GLoader m_loaRank;
+        public GButton m_btnLook;
+        public GLoader m_loaDanIcon;
+        public GTextField m_txtName;
+        public GTextField m_txtRank;
+        public GTextField m_txtScore;
+        public const string URL = "ui://4lc5fhlbpsphu";
+        public const string PACKAGE_NAME = "Arena";
+        public const string RES_NAME = "ListRankItem";
+        private static UI_ListRankItem _proxy;
+
+        public static UI_ListRankItem Create(GObject gObject = null)
+        {
+            var ui = new UI_ListRankItem();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ListRankItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ListRankItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_comHead = (GComponent)comp.GetChild("comHead");
+            m_comLv = (GComponent)comp.GetChild("comLv");
+            m_loaRank = (GLoader)comp.GetChild("loaRank");
+            m_btnLook = (GButton)comp.GetChild("btnLook");
+            m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_txtRank = (GTextField)comp.GetChild("txtRank");
+            m_txtScore = (GTextField)comp.GetChild("txtScore");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_comHead = null;
+            m_comLv = null;
+            m_loaRank = null;
+            m_btnLook = null;
+            m_loaDanIcon = null;
+            m_txtName = null;
+            m_txtRank = null;
+            m_txtScore = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnTab2.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 35b175edc0a13064e9f3536bdaaa6bad
+guid: 756c108bd6493fa489c1828d9f443849
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 17 - 16
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnTab2.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem0.cs

@@ -4,37 +4,37 @@ using FairyGUI;
 
 namespace UI.Arena
 {
-    public partial class UI_BtnTab2
+    public partial class UI_ListRankItem0
     {
-        public GButton target;
-        public Controller m_c1;
-        public const string URL = "ui://4lc5fhlbpsph11";
+        public GComponent target;
+        public UI_ListRankItem m_ListRankItem;
+        public const string URL = "ui://4lc5fhlbpsphv";
         public const string PACKAGE_NAME = "Arena";
-        public const string RES_NAME = "BtnTab2";
-        private static UI_BtnTab2 _proxy;
+        public const string RES_NAME = "ListRankItem0";
+        private static UI_ListRankItem0 _proxy;
 
-        public static UI_BtnTab2 Create(GObject gObject = null)
+        public static UI_ListRankItem0 Create(GObject gObject = null)
         {
-            var ui = new UI_BtnTab2();
+            var ui = new UI_ListRankItem0();
             if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
-            	ui.target =  (GButton)gObject;
+            	ui.target =  (GComponent)gObject;
             ui.Init(ui.target);
             return ui;
         }
 
-        public static UI_BtnTab2 Proxy(GObject gObject = null)
+        public static UI_ListRankItem0 Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_BtnTab2();
+                _proxy = new UI_ListRankItem0();
             }
             var ui = _proxy;
             if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
-            	ui.target =  (GButton)gObject;
+            	ui.target =  (GComponent)gObject;
             ui.Init(ui.target);
             return ui;
         }
@@ -55,11 +55,12 @@ namespace UI.Arena
 
         private void Init(GComponent comp)
         {
-            m_c1 = comp.GetController("c1");
+            m_ListRankItem = (UI_ListRankItem)UI_ListRankItem.Create(comp.GetChild("ListRankItem"));
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_c1 = null;
+            m_ListRankItem.Dispose();
+            m_ListRankItem = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnTab1.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem0.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 009641f7f49b77341b650db70d7dc7f2
+guid: b425230d6fe3a4943abdba5311daa1c3
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 5 - 19
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem1.cs

@@ -7,13 +7,8 @@ namespace UI.Arena
     public partial class UI_ListRankItem1
     {
         public GComponent target;
-        public GTextField m_txtRank;
-        public GComponent m_comHeadwithLv;
-        public GTextField m_txtName;
-        public GTextField m_txtArenaScore;
-        public GLoader m_loaDanIcon;
-        public GTextField m_txtDanRank;
-        public const string URL = "ui://4lc5fhlbpsphy";
+        public UI_ListRankItem m_ListRankItem;
+        public const string URL = "ui://4lc5fhlbjcej4e";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ListRankItem1";
         private static UI_ListRankItem1 _proxy;
@@ -60,21 +55,12 @@ namespace UI.Arena
 
         private void Init(GComponent comp)
         {
-            m_txtRank = (GTextField)comp.GetChild("txtRank");
-            m_comHeadwithLv = (GComponent)comp.GetChild("comHeadwithLv");
-            m_txtName = (GTextField)comp.GetChild("txtName");
-            m_txtArenaScore = (GTextField)comp.GetChild("txtArenaScore");
-            m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
-            m_txtDanRank = (GTextField)comp.GetChild("txtDanRank");
+            m_ListRankItem = (UI_ListRankItem)UI_ListRankItem.Create(comp.GetChild("ListRankItem"));
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_txtRank = null;
-            m_comHeadwithLv = null;
-            m_txtName = null;
-            m_txtArenaScore = null;
-            m_loaDanIcon = null;
-            m_txtDanRank = null;
+            m_ListRankItem.Dispose();
+            m_ListRankItem = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 17 - 16
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnTab1.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem2.cs

@@ -4,37 +4,37 @@ using FairyGUI;
 
 namespace UI.Arena
 {
-    public partial class UI_BtnTab1
+    public partial class UI_ListRankItem2
     {
-        public GButton target;
-        public Controller m_c1;
-        public const string URL = "ui://4lc5fhlbpsphs";
+        public GComponent target;
+        public UI_ListRankItem m_ListRankItem;
+        public const string URL = "ui://4lc5fhlbjcej4f";
         public const string PACKAGE_NAME = "Arena";
-        public const string RES_NAME = "BtnTab1";
-        private static UI_BtnTab1 _proxy;
+        public const string RES_NAME = "ListRankItem2";
+        private static UI_ListRankItem2 _proxy;
 
-        public static UI_BtnTab1 Create(GObject gObject = null)
+        public static UI_ListRankItem2 Create(GObject gObject = null)
         {
-            var ui = new UI_BtnTab1();
+            var ui = new UI_ListRankItem2();
             if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
-            	ui.target =  (GButton)gObject;
+            	ui.target =  (GComponent)gObject;
             ui.Init(ui.target);
             return ui;
         }
 
-        public static UI_BtnTab1 Proxy(GObject gObject = null)
+        public static UI_ListRankItem2 Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_BtnTab1();
+                _proxy = new UI_ListRankItem2();
             }
             var ui = _proxy;
             if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
-            	ui.target =  (GButton)gObject;
+            	ui.target =  (GComponent)gObject;
             ui.Init(ui.target);
             return ui;
         }
@@ -55,11 +55,12 @@ namespace UI.Arena
 
         private void Init(GComponent comp)
         {
-            m_c1 = comp.GetController("c1");
+            m_ListRankItem = (UI_ListRankItem)UI_ListRankItem.Create(comp.GetChild("ListRankItem"));
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_c1 = null;
+            m_ListRankItem.Dispose();
+            m_ListRankItem = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem2.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: da24301ef0a55bd4b980a1ceab379988
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 92 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem3.cs

@@ -0,0 +1,92 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Arena
+{
+    public partial class UI_ListRankItem3
+    {
+        public GComponent target;
+        public GTextField m_txtRank;
+        public GLoader m_loaDanIcon;
+        public GTextField m_txtDanRank;
+        public GTextField m_txtName;
+        public GTextField m_txtArenaScore;
+        public GComponent m_comHead;
+        public GButton m_btnLook;
+        public GComponent m_comLv;
+        public const string URL = "ui://4lc5fhlbpsphy";
+        public const string PACKAGE_NAME = "Arena";
+        public const string RES_NAME = "ListRankItem3";
+        private static UI_ListRankItem3 _proxy;
+
+        public static UI_ListRankItem3 Create(GObject gObject = null)
+        {
+            var ui = new UI_ListRankItem3();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ListRankItem3 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ListRankItem3();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_txtRank = (GTextField)comp.GetChild("txtRank");
+            m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
+            m_txtDanRank = (GTextField)comp.GetChild("txtDanRank");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_txtArenaScore = (GTextField)comp.GetChild("txtArenaScore");
+            m_comHead = (GComponent)comp.GetChild("comHead");
+            m_btnLook = (GButton)comp.GetChild("btnLook");
+            m_comLv = (GComponent)comp.GetChild("comLv");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_txtRank = null;
+            m_loaDanIcon = null;
+            m_txtDanRank = null;
+            m_txtName = null;
+            m_txtArenaScore = null;
+            m_comHead = null;
+            m_btnLook = null;
+            m_comLv = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem3.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aa80bb680fb9c294e98104f3051e75c0
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 92 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem4.cs

@@ -0,0 +1,92 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Arena
+{
+    public partial class UI_ListRankItem4
+    {
+        public GComponent target;
+        public GTextField m_txtRank;
+        public GLoader m_loaDanIcon;
+        public GTextField m_txtDanRank;
+        public GTextField m_txtName;
+        public GTextField m_txtArenaScore;
+        public GComponent m_comHead;
+        public GButton m_btnLook;
+        public GComponent m_comLv;
+        public const string URL = "ui://4lc5fhlbjcej4k";
+        public const string PACKAGE_NAME = "Arena";
+        public const string RES_NAME = "ListRankItem4";
+        private static UI_ListRankItem4 _proxy;
+
+        public static UI_ListRankItem4 Create(GObject gObject = null)
+        {
+            var ui = new UI_ListRankItem4();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ListRankItem4 Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ListRankItem4();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_txtRank = (GTextField)comp.GetChild("txtRank");
+            m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
+            m_txtDanRank = (GTextField)comp.GetChild("txtDanRank");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_txtArenaScore = (GTextField)comp.GetChild("txtArenaScore");
+            m_comHead = (GComponent)comp.GetChild("comHead");
+            m_btnLook = (GButton)comp.GetChild("btnLook");
+            m_comLv = (GComponent)comp.GetChild("comLv");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_txtRank = null;
+            m_loaDanIcon = null;
+            m_txtDanRank = null;
+            m_txtName = null;
+            m_txtArenaScore = null;
+            m_comHead = null;
+            m_btnLook = null;
+            m_comLv = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem4.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 24c2335ff1359aa4f85b42f1b763b661
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListTargetItem.cs

@@ -7,6 +7,7 @@ namespace UI.Arena
     public partial class UI_ListTargetItem
     {
         public GComponent target;
+        public GLoader m_loaBg;
         public GComponent m_comHead;
         public GComponent m_comLv;
         public GTextField m_txtName;
@@ -61,6 +62,7 @@ namespace UI.Arena
 
         private void Init(GComponent comp)
         {
+            m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_comHead = (GComponent)comp.GetChild("comHead");
             m_comLv = (GComponent)comp.GetChild("comLv");
             m_txtName = (GTextField)comp.GetChild("txtName");
@@ -71,6 +73,7 @@ namespace UI.Arena
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_loaBg = null;
             m_comHead = null;
             m_comLv = null;
             m_txtName = null;

+ 74 - 33
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -73,10 +73,6 @@ namespace GFGGame
                     for (int i = 0; i < response.targets.Count; i++)
                     {
                         ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.targets[i]));
-                        if (response.targets[i].Type == ArenaFightTargetType.PLAYER)
-                        {
-                            await ReqArenaFightAttr(response.targets[i].RoleInfo.RoleId, ArenaDataManager.Instance.Targets[i].RoleDressupList);
-                        }
                     }
                     PromptController.Instance.ShowFloatTextPrompt("刷新成功");
                     return true;
@@ -109,11 +105,11 @@ namespace GFGGame
         }
 
         //购买挑战次数
-        public static async ETTask ReqBuyArenaFightTimes(int times)
+        public static async ETTask ReqBuyArenaFightTimes()
         {
 
             S2C_BuyArenaFightTimes response = null;
-            response = (S2C_BuyArenaFightTimes)await MessageHelper.SendToServer(new C2S_BuyArenaFightTimes() { Times = times });
+            response = (S2C_BuyArenaFightTimes)await MessageHelper.SendToServer(new C2S_BuyArenaFightTimes() { });
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
@@ -124,40 +120,53 @@ namespace GFGGame
         }
 
         //挑战
-        public static async ETTask ReqArenaFight(bool _isWin, int type, int roleId)
+        public static async ETTask ReqArenaFight(bool isWin, int type, long targetRoleId, int selfFightPower, int targetFightPower, List<int> myScore, List<int> targetScore)
         {
 
             S2C_ArenaFight response = null;
-            response = (S2C_ArenaFight)await MessageHelper.SendToServer(new C2S_ArenaFight() { Grade = ArenaDataManager.Instance.Grade, RankInGrade = ArenaDataManager.Instance.Rank, Type = type, RoleId = roleId, isWin = _isWin });
+            response = (S2C_ArenaFight)await MessageHelper.SendToServer(new C2S_ArenaFight()
+            {
+                RoleId = RoleDataManager.roleId,
+                Grade = ArenaDataManager.Instance.Grade,
+                RankInGrade = ArenaDataManager.Instance.Rank,
+                Type = type,
+                TargetRoleId = targetRoleId,
+                IsWin = isWin,
+                SelfFightPower = selfFightPower,
+                TargetFightPower = targetFightPower
+            });
             if (response != null && response.targets != null)
             {
-                if (response.Error != ErrorCode.ERR_Success)
-                {
-                    PromptController.Instance.ShowFloatTextPrompt("该玩家排名已经发生变化,请重新选择");
-                }
-                if (response.Grade > ArenaDataManager.Instance.Grade)
+
+
+                ArenaDataManager.Instance.Targets.Clear();
+                for (int i = 0; i < response.targets.Count; i++)
                 {
-                    ViewManager.Show<ArenaDanUpView>(new object[] { ArenaDataManager.Instance.Grade, response.Grade, response.RewardId });
+                    ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.targets[i]));
                 }
-                else if (response.RankInGrade > ArenaDataManager.Instance.Rank)
+                if (response.Error != ErrorCode.ERR_Success)
                 {
-                    ViewManager.Show<ArenaRankUpView>(new object[] { ArenaDataManager.Instance.Rank, response.RankInGrade });
+                    PromptController.Instance.ShowFloatTextPrompt("该玩家排名已经发生变化,请重新选择");
+                    return;
                 }
-
                 ArenaDataManager.Instance.Grade = response.Grade;
                 ArenaDataManager.Instance.Rank = response.RankInGrade;
                 ArenaDataManager.Instance.TryUpdateHighest();
 
-                ArenaDataManager.Instance.Targets.Clear();
-                for (int i = 0; i < response.targets.Count; i++)
-                {
-                    ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.targets[i]));
-                }
+                // if (response.Grade > ArenaDataManager.Instance.Grade)
+                // {
+                //     ViewManager.Show<ArenaDanUpView>(new object[] { ArenaDataManager.Instance.Grade, response.Grade, response.RewardId });
+                // }
+                // else if (response.RankInGrade > ArenaDataManager.Instance.Rank)
+                // {
+                //     ViewManager.Show<ArenaRankUpView>(new object[] { ArenaDataManager.Instance.Rank, response.RankInGrade });
+                // }
+
             }
         }
 
         //获取排行榜
-        public static async ETTask ReqArenaRank(int rankType, int startIndex, int endIndex)
+        public static async ETTask<bool> ReqArenaRank(int rankType, int startIndex, int endIndex)
         {
             S2C_ArenaRank response = null;
             response = (S2C_ArenaRank)await MessageHelper.SendToServer(new C2S_ArenaRank() { RankType = rankType, StartIndex = startIndex, EndIndex = endIndex });
@@ -165,17 +174,20 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    if (startIndex == 0)
+                    if (!ArenaDataManager.Instance.rankDatasDic.ContainsKey(rankType))
                     {
-                        ArenaDataManager.Instance.rankDatas.Clear();
+                        ArenaDataManager.Instance.rankDatasDic[rankType] = new List<ArenaTargetData>();
                     }
+                    List<ArenaTargetData> rankDatas = ArenaDataManager.Instance.rankDatasDic[rankType];
                     for (int i = 0; i < response.ranks.Count; i++)
                     {
-                        ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.ranks[i]));
+                        rankDatas.Add(GetArenaTargetData(response.ranks[i]));
                     }
                     ArenaDataManager.Instance.SelfData = GetArenaTargetData(response.self);
+                    return true;
                 }
             }
+            return false;
         }
 
         //获取竞技场历史记录
@@ -224,8 +236,23 @@ namespace GFGGame
             arenaTarget.IsChallenge = arenaHistory.IsChallenge;
             arenaTarget.FightTime = arenaHistory.FightTime;
             arenaTarget.Type = arenaHistory.Type;
-            arenaTarget.RoleInfo = DataChangeUtil.Instance.GetOtherRoleInfoData(arenaHistory.RoleInfo);
 
+            if (arenaTarget.Type == ArenaFightTargetType.PLAYER)
+            {
+                arenaTarget.RoleInfo.roleId = arenaHistory.RoleInfo.RoleId;
+                arenaTarget.RoleInfo.roleName = arenaHistory.RoleInfo.RoleName;
+                arenaTarget.RoleInfo.roleLv = arenaHistory.RoleInfo.RoleLvl;
+                arenaTarget.RoleInfo.roleHead = arenaHistory.RoleInfo.HeadItemId;
+            }
+            else
+            {
+                ArenaRobotCfg robotCfg = ArenaRobotCfgArray.Instance.GetCfg(arenaHistory.RobotDressupInfo.RobotId);
+
+                arenaTarget.RoleInfo.roleId = 0;
+                arenaTarget.RoleInfo.roleName = robotCfg.gradeName;
+                arenaTarget.RoleInfo.roleLv = robotCfg.level;
+                arenaTarget.RoleInfo.roleHeadRes = robotCfg.targetRes;
+            }
             for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
             {
                 if (arenaTarget.Type == ArenaFightTargetType.PLAYER)
@@ -255,8 +282,22 @@ namespace GFGGame
             arenaTarget.Grade = arenaTargetProto.Grade;
             arenaTarget.RankInGrade = arenaTargetProto.RankInGrade;
             arenaTarget.Type = arenaTargetProto.Type;
-            arenaTarget.RoleInfo = DataChangeUtil.Instance.GetOtherRoleInfoData(arenaTargetProto.RoleInfo);
+            if (arenaTarget.Type == ArenaFightTargetType.PLAYER)
+            {
+                arenaTarget.RoleInfo.roleId = arenaTargetProto.RoleInfo.RoleId;
+                arenaTarget.RoleInfo.roleName = arenaTargetProto.RoleInfo.RoleName;
+                arenaTarget.RoleInfo.roleLv = arenaTargetProto.RoleInfo.RoleLvl;
+                arenaTarget.RoleInfo.roleHead = arenaTargetProto.RoleInfo.HeadItemId;
+            }
+            else
+            {
+                ArenaRobotCfg robotCfg = ArenaRobotCfgArray.Instance.GetCfg(arenaTargetProto.RobotDressupInfo.RobotId);
 
+                arenaTarget.RoleInfo.roleId = 0;
+                arenaTarget.RoleInfo.roleName = robotCfg.gradeName;
+                arenaTarget.RoleInfo.roleLv = robotCfg.level;
+                arenaTarget.RoleInfo.roleHeadRes = robotCfg.targetRes;
+            }
             arenaTarget.RoleDressupList.Clear();
             arenaTarget.RobotDressupList.Clear();
 
@@ -276,13 +317,13 @@ namespace GFGGame
             return arenaTarget;
         }
 
-        private static FightRoleData GetFightRoleData(ArenaDressupProto dressupProto, OtherRoleInfoData roleInfoData, int index)
+        private static FightRoleData GetFightRoleData(ArenaDressupProto dressupProto, OtherRoleInfoData roleInfo, int index)
         {
             FightRoleData roleData = new FightRoleData();
-            roleData.name = roleInfoData.roleName;
-            roleData.headId = roleInfoData.roleHead;
-            roleData.headBorderId = roleInfoData.roleHeadBorder;
-            roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(roleInfoData.roleLv).baseScore;
+            roleData.name = roleInfo.roleName;
+            roleData.headId = roleInfo.roleHead;
+
+            roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(roleInfo.roleLv).baseScore;
             roleData.cardId = dressupProto.CardId;
             roleData.itemList = dressupProto.EquipIds;
             if (index == 0) roleData.tags = new string[1] { ArenaDataManager.Instance.Tag };

+ 94 - 4
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs

@@ -8,7 +8,7 @@ namespace GFGGame
     public class ArenaRankView : BaseWindow
     {
         private UI_ArenaRankUI _ui;
-
+        private int _rankType = 0;
         public override void Dispose()
         {
             if (_ui != null)
@@ -25,9 +25,16 @@ namespace GFGGame
             packageName = UI_ArenaUI.PACKAGE_NAME;
             _ui = UI_ArenaRankUI.Create();
             this.viewCom = _ui.target;
-            isfullScreen = true;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 
-            // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
+            _ui.m_listRank.SetVirtual();
+            _ui.m_listRank.itemProvider = GetListItemResource;
+            _ui.m_listRank.itemRenderer = RenderListItem;
+            _ui.m_listRank.scrollPane.onScroll.Add(OnListScroll);
+            _ui.m_c1.onChanged.Add(OnTabChange);
+            _ui.m_c1.onChanged.Add(OnTabChange);
         }
         protected override void AddEventListener()
         {
@@ -37,7 +44,10 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-
+            _rankType = 0;
+            _ui.m_listRank.numItems = 100;
+            ArenaDataManager.Instance.rankDatasDic.Clear();
+            ReqRankList(0);
         }
 
         protected override void OnHide()
@@ -51,5 +61,85 @@ namespace GFGGame
             base.RemoveEventListener();
 
         }
+        private void OnTabChange()
+        {
+            if (_ui.m_c1.previsousIndex == 0 && _ui.m_c1.selectedIndex == 1 || _ui.m_c1.previsousIndex == 1 && _ui.m_c1.selectedIndex == 1)
+            {
+                _rankType = ArenaRankType.FRIEND;
+            }
+            else if (_ui.m_c1.previsousIndex == 0 && _ui.m_c1.selectedIndex == 0)//二级页签切换
+            {
+                if (_ui.m_c2.selectedIndex == 1)
+                {
+                    _rankType = ArenaRankType.LAST_SEASON;
+                }
+                else
+                {
+                    _rankType = ArenaRankType.NOW_SEASON;
+                }
+            }
+            else if (_ui.m_c1.previsousIndex == 1 && _ui.m_c1.selectedIndex == 0)
+            {
+                _ui.m_c2.selectedIndex = 0;
+                _rankType = ArenaRankType.NOW_SEASON;
+            }
+
+        }
+        private void OnListScroll()
+        {
+
+        }
+        private async void ReqRankList(int index)
+        {
+            bool result = await ArenaSproxy.ReqArenaRank(_rankType, index, index + 19);
+            if (result)
+            {
+                _ui.m_listRank.RefreshVirtualList();
+            }
+        }
+
+        private string GetListItemResource(int index)
+        {
+            if (index == 0)
+                return "ui://Arena/ListRankItem0";
+            else if (index == 1)
+                return "ui://Arena/ListRankItem1";
+            else if (index == 2)
+                return "ui://Arena/ListRankItem2";
+            else
+                return "ui://Arena/ListRankItem3";
+        }
+        private void RenderListItem(int index, GObject obj)
+        {
+            ArenaTargetData arenaData = null;
+            if (ArenaDataManager.Instance.rankDatasDic.ContainsKey(_rankType))
+            {
+                if (ArenaDataManager.Instance.rankDatasDic[_rankType].Count > index)
+                {
+                    arenaData = ArenaDataManager.Instance.rankDatasDic[_rankType][index];
+                }
+            }
+            if (index < 3)
+            {
+                UpdateTopItem(arenaData, obj);
+            }
+            else
+            {
+                UpdateOtherItem(arenaData, obj);
+            }
+        }
+        private void UpdateTopItem(ArenaTargetData arenaData, GObject obj)
+        {
+            UI_ListRankItem item = UI_ListRankItem.Proxy(obj.asCom.GetChildAt(0));
+
+            item.m_c1.selectedIndex = arenaData.RankInGrade;
+
+            UI_ListRankItem.ProxyEnd();
+        }
+
+        private void UpdateOtherItem(ArenaTargetData arenaData, GObject obj)
+        {
+
+        }
     }
 }

+ 94 - 7
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs

@@ -1,6 +1,8 @@
+using System.Collections.Generic;
 using ET;
 using FairyGUI;
 using UI.Arena;
+using UI.CommonGame;
 using UnityEngine;
 
 namespace GFGGame
@@ -69,7 +71,7 @@ namespace GFGGame
             base.AddEventListener();
 
         }
-        protected override void OnShown()
+        protected override async void OnShown()
         {
             base.OnShown();
             _targetData = this.viewData == null ? null : (this.viewData as object[])[0] as ArenaTargetData;
@@ -77,6 +79,24 @@ namespace GFGGame
             _arenaCfg = ArenaOpenCfgArray.Instance.GetCfg(ArenaDataManager.Instance.SeasonId);
 
             _valueBarController.OnShown();
+            for (int i = 0; i < ArenaDataManager.Instance.Targets.Count; i++)
+            {
+                ArenaTargetData targetData = ArenaDataManager.Instance.Targets[i];
+                if (targetData.Type == ArenaFightTargetType.PLAYER)
+                {
+
+                    await ArenaSproxy.ReqArenaFightAttr(targetData.RoleInfo.roleId, targetData.RoleDressupList);
+                }
+            }
+
+            if (_targetData == null)
+            {
+                UpdateTargetList();
+            }
+            else
+            {
+                _ui.m_c1.selectedIndex = 1;
+            }
             UpdateNormal();
             UpdateValue();
             UpdateRole();
@@ -125,7 +145,7 @@ namespace GFGGame
             string.Format("(今天已购买{0}/{1}次)", GlobalCfgArray.globalCfg.limitDailyBuyFightTimes - RoleDataManager.ArenaBuyFightTimes, GlobalCfgArray.globalCfg.limitDailyBuyFightTimes))
             .SetLeftButton(true, "取消").SetRightButton(true, "确定", (object data) =>
             {
-                ArenaSproxy.ReqBuyArenaFightTimes(1).Coroutine();
+                ArenaSproxy.ReqBuyArenaFightTimes().Coroutine();
             });
         }
         private async void OnBtnRefreshClick()
@@ -133,7 +153,7 @@ namespace GFGGame
             bool result = await ArenaSproxy.ReqRefreshArenaTargets();
             if (result)
             {
-                _ui.m_listTarget.numItems = ArenaDataManager.Instance.Targets.Count;
+                UpdateTargetList();
             }
         }
         private void OnBtnDressClick()
@@ -151,23 +171,40 @@ namespace GFGGame
             _ui.m_c1.selectedIndex = 0;
         }
 
-        private void OnBtnFightClick()
+        private async void OnBtnFightClick()
         {
             InstanceZonesDataManager.FightScene = ConstInstanceZonesType.Arena;
             ArenaDataManager.Instance.CurFightIndex = 0;
             if (_ui.m_btnQuickFight.selected)
             {
+                int winCount = 0;
+
+                List<int> myScores = new List<int>();
+                List<int> targetScores = new List<int>();
                 for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
                 {
+                    int score = 0;
+                    int targetScore = 0;
                     if (_targetData.Type == ArenaFightTargetType.PLAYER)
                     {
-                        FightDataManager.Instance.GetQuickFightResult(FightDataManager.Instance.roleData, _targetData.Type, _targetData.RoleDressupList[i], null, out int score, out int targetScore);
+                        FightDataManager.Instance.GetQuickFightResult(FightDataManager.Instance.roleData, _targetData.Type, _targetData.RoleDressupList[i], null, out score, out targetScore);
                     }
                     else
                     {
-                        FightDataManager.Instance.GetQuickFightResult(FightDataManager.Instance.roleData, _targetData.Type, null, _targetData.RobotDressupList[i], out int score, out int targetScore);
+                        FightDataManager.Instance.GetQuickFightResult(FightDataManager.Instance.roleData, _targetData.Type, null, _targetData.RobotDressupList[i], out score, out targetScore);
                     }
+                    myScores.Add(score);
+                    targetScores.Add(targetScore);
                 }
+                bool isWin = winCount >= 2;
+                long targetRoleId = _targetData.Type == ArenaFightTargetType.PLAYER ? _targetData.RoleInfo.roleId : 0;
+                int selfFightPower = ArenaDataManager.Instance.GetAllFightScore(ArenaFightTargetType.PLAYER, ArenaDataManager.Instance.DressupList, null);
+                int targetFightPower = ArenaDataManager.Instance.GetAllFightScore(_targetData.Type, _targetData.RoleDressupList, _targetData.RobotDressupList);
+                await ArenaSproxy.ReqArenaFight(isWin, _targetData.Type, targetRoleId, selfFightPower, targetFightPower, myScores, targetScores);
+
+                UpdateNormal();
+                UpdateValue();
+                UpdateTargetList();
             }
             else
             {
@@ -193,7 +230,7 @@ namespace GFGGame
             }
             _ui.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
             _ui.m_btnQuickFight.selected = ArenaDataManager.Instance.QuickFight;
-            _ui.m_c1.selectedIndex = _targetData == null ? 0 : 1;
+
         }
 
 
@@ -242,11 +279,61 @@ namespace GFGGame
             }
         }
 
+        private void UpdateTargetList()
+        {
+            _ui.m_c1.selectedIndex = 0;
+            _ui.m_listTarget.numItems = ArenaDataManager.Instance.Targets.Count;
+        }
         private void RenderListTargetItem(int index, GObject obj)
         {
+            ArenaTargetData targetData = ArenaDataManager.Instance.Targets[index];
+            ArenaRankCfg rankCfg = ArenaRankCfgArray.Instance.GetCfg(targetData.Grade);
+
+            UI_ListTargetItem item = UI_ListTargetItem.Proxy(obj);
 
+            if (targetData.Type == ArenaFightTargetType.PLAYER)
+            {
+                RoleInfoManager.Instance.UpdateHead(item.m_comHead, targetData.RoleInfo.roleHead, 0);
+            }
+            else
+            {
+                UI_ComHead comTargetHead = UI_ComHead.Proxy(item.m_comHead);
+                comTargetHead.m_comHead.m_loaIcon.url = ResPathUtil.GetNpcHeadPath(targetData.RoleInfo.roleHeadRes);
+                UI_ComHead.ProxyEnd();
+            }
+
+            item.m_txtName.text = targetData.RoleInfo.roleName;
+            item.m_txtDanTitle.text = rankCfg.gradeName;
+            item.m_comLv.GetChild("txtLvl").asTextField.text = targetData.RoleInfo.roleLv.ToString();
+
+            int fightScore = ArenaDataManager.Instance.GetAllFightScore(targetData.Type, targetData.RoleDressupList, targetData.RobotDressupList);
+            item.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
+            item.m_txtRank.text = string.Format("段位排名:{0}", targetData.RankInGrade);
+
+            if (item.m_loaBg.data == null)
+            {
+                item.m_loaBg.onClick.Add(OnSelectRoleClick);
+            }
+            item.m_loaBg.data = targetData;
+            if (item.m_btnLook.data == null)
+            {
+                item.m_btnLook.onClick.Add(OnBtnLookClick);
+            }
+            item.m_btnLook.data = targetData;
+            UI_ListTargetItem.Proxy();
         }
 
+        private void OnSelectRoleClick(EventContext context)
+        {
+            _targetData = (context.sender as GObject).data as ArenaTargetData;
+            _ui.m_c1.selectedIndex = 1;
+            UpdateRole();
+        }
 
+        private void OnBtnLookClick(EventContext context)
+        {
+            ArenaTargetData targetData = (context.sender as GObject).data as ArenaTargetData;
+            ViewManager.Show<ArenaDressInfoView>(new object[] { targetData.Type, 0, targetData.RoleDressupList, targetData.RobotDressupList }, new object[] { typeof(ArenaView).FullName, _targetData }, true);
+        }
     }
 }

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs

@@ -126,7 +126,7 @@ namespace GFGGame
             if (targetType == ArenaFightTargetType.PLAYER)
             {
                 targetRoleData = (this.viewData as object[])[2] as FightRoleData;
-                RoleInfoManager.Instance.UpdateHead(_ui.m_targetHead, targetRoleData.headId, targetRoleData.headBorderId);
+                RoleInfoManager.Instance.UpdateHead(_ui.m_targetHead, targetRoleData.headId, 0);
                 _ui.m_proScore.m_txtNpcScore.text = targetRoleData.name + " 0";
                 ScoreSystemData.Instance.SetEquipScoresWithPartId(targetRoleData);
                 _targetMainScore = ScoreSystemData.Instance.GetMainScore(targetRoleData);
@@ -144,7 +144,7 @@ namespace GFGGame
                 _targetRoundTimes = ScoreSystemData.Instance.GetRoundTime(targetRobotData.cardId, targetRobotData.skillLvs);
             }
 
-            RoleInfoManager.Instance.UpdateHead(_ui.m_myHead, roleData.headId, roleData.headBorderId);
+            RoleInfoManager.Instance.UpdateHead(_ui.m_myHead, roleData.headId, 0);
             _ui.m_proScore.m_txtMineScore.text = RoleDataManager.roleName + " 0";
             ScoreSystemData.Instance.SetEquipScoresWithPartId(roleData);
             _mainScore = ScoreSystemData.Instance.GetMainScore(roleData);

BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4!a.png


+ 96 - 0
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4!a.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 2269a0beaca2b2a43950fbfd12666ef2
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4.png


+ 96 - 0
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 9832e9dc630744842b1eb9c2dc3ff0bf
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes