zhaoyang 2 жил өмнө
parent
commit
34a4d200a3
78 өөрчлөгдсөн 1102 нэмэгдсэн , 347 устгасан
  1. 22 8
      FGUIProject/assets/Arena/ArenaDanUpUI.xml
  2. 2 2
      FGUIProject/assets/Arena/ArenaRankUpUI.xml
  3. 3 9
      FGUIProject/assets/Arena/ArenaResultQuickUI.xml
  4. 6 1
      FGUIProject/assets/Arena/ArenaResultUI.xml
  5. 4 4
      FGUIProject/assets/Arena/components/ComDanSimpleInfo.xml
  6. 2 3
      FGUIProject/assets/Arena/components/ComMyDanReward.xml
  7. 4 12
      FGUIProject/assets/Arena/components/ListFightRecordItem.xml
  8. 2 2
      FGUIProject/assets/Arena/components/ListRankItem.xml
  9. 1 1
      FGUIProject/assets/Arena/components/ListRankItem3.xml
  10. 2 2
      FGUIProject/assets/Arena/components/ListRecordItem.xml
  11. 2 2
      FGUIProject/assets/Arena/components/ListResultItem.xml
  12. 5 3
      FGUIProject/assets/Arena/package.xml
  13. 4 4
      FGUIProject/assets/Main/components/ComResult.xml
  14. 1 0
      FGUIProject/assets/Main/package.xml
  15. 3 1
      GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs
  16. 52 51
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  17. 71 0
      GameClient/Assets/Game/HotUpdate/Data/ArenaViewManager.cs
  18. 4 4
      GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs
  19. 13 0
      GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs
  20. 1 1
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  21. 4 4
      GameClient/Assets/Game/HotUpdate/Data/VO/ArenaData.cs
  22. 3 3
      GameClient/Assets/Game/HotUpdate/Data/VO/OtherRoleInfoData.cs
  23. 12 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaDanUpUI.cs
  24. 7 12
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaResultQuickUI.cs
  25. 4 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaResultUI.cs
  26. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ComDanSimpleInfo.cs
  27. 0 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ComMyDanReward.cs
  28. 0 6
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListFightRecordItem.cs
  29. 6 6
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem.cs
  30. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem3.cs
  31. 6 6
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRecordItem.cs
  32. 6 6
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListResultItem.cs
  33. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComResult.cs
  34. 48 30
      GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs
  35. 2 2
      GameClient/Assets/Game/HotUpdate/ServerProxy/DataChangeUtil.cs
  36. 10 10
      GameClient/Assets/Game/HotUpdate/ServerProxy/FriendSProxy.cs
  37. 2 2
      GameClient/Assets/Game/HotUpdate/ServerProxy/RoleInfoSProxy.cs
  38. 23 4
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDanUpView.cs
  39. 2 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDressInfoView.cs
  40. 20 4
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankUpView.cs
  41. 73 7
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs
  42. 32 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaResultQuickView.cs
  43. 54 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaResultView.cs
  44. 39 30
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs
  45. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/ValueBarController.cs
  46. 1 1
      GameClient/Assets/Game/HotUpdate/Views/DressUp/ArenaDressUpFightView.cs
  47. 2 2
      GameClient/Assets/Game/HotUpdate/Views/Friend/FriendAddView.cs
  48. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Friend/FriendView.cs
  49. 15 11
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  50. 16 19
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs
  51. 3 28
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs
  52. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemGalleryPreviewView.cs
  53. 1 1
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/OtherRoleInfoView.cs
  54. 495 22
      GameClient/Assets/ResIn/Prefab/SceneFightTarget.prefab
  55. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0!a.png
  56. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0.png
  57. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_2!a.png
  58. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_2.png
  59. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3!a.png
  60. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3.png
  61. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes
  62. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  63. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png
  64. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0.png
  65. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png
  66. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png
  67. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2.png
  68. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3!a.png
  69. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3.png
  70. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5!a.png
  71. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5.png
  72. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6!a.png
  73. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6.png
  74. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7!a.png
  75. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7.png
  76. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8!a.png
  77. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8.png
  78. BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes

+ 22 - 8
FGUIProject/assets/Arena/ArenaDanUpUI.xml

@@ -1,20 +1,34 @@
 <?xml version="1.0" encoding="utf-8"?>
 <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 name="c1" pages="0,,1," selected="1">
+    <remark page="0" value="首次段位提升"/>
+    <remark page="1" value="首次段位提升"/>
   </controller>
   <displayList>
     <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"/>
+    <text id="n8_jcej" name="txtlastDanTitle" xy="474,419" pivot="0.5,0" size="132,44" group="n9_jcej" font="ui://eg2y0ldpwonotjc" fontSize="32" color="#fef7f6" text="段位名字"/>
+    <loader id="n7_jcej" name="loaLastDanIcon" xy="440,214" size="200,200" group="n9_jcej" url="ui://4lc5fhlbpsphz" autoSize="true" color="#666666"/>
+    <group id="n9_jcej" name="n9" xy="440,214" size="200,249" advanced="true"/>
+    <loader id="n2_psph" name="loaDanIcon" xy="440,214" size="200,200" group="n10_jcej" url="ui://4lc5fhlbpsphz" autoSize="true"/>
+    <text id="n3_psph" name="txtDanTitle" xy="474,419" pivot="0.5,0" size="132,44" group="n10_jcej" font="ui://eg2y0ldpwonotjc" fontSize="32" color="#fef7f6" text="段位名字"/>
+    <group id="n10_jcej" name="n10" xy="440,214" size="200,249" advanced="true"/>
+    <image id="n5_jcej" name="n5" src="jcej3z" fileName="images/pmts_ffbtbt.png" xy="422,540" group="n11_jcej"/>
+    <list id="n1_psph" name="listFirstDanReward" xy="140,600" pivot="0.5,0" size="799,221" group="n11_jcej" scale="0.7,0.7" layout="row" colGap="50" defaultItem="ui://eg2y0ldpj48o98" align="center" autoClearItems="true">
       <item/>
       <item/>
       <item/>
     </list>
-    <text id="n3_psph" name="txtDanTitle" xy="474,419" pivot="0.5,0" size="132,44" font="ui://eg2y0ldpwonotjc" fontSize="32" color="#fef7f6" text="段位名字"/>
+    <group id="n11_jcej" name="n11" xy="140,540" size="799,281" advanced="true">
+      <gearDisplay controller="c1" pages="1"/>
+    </group>
   </displayList>
+  <transition name="t0">
+    <item time="0" type="Visible" target="n10_jcej" value="false"/>
+    <item time="0" type="Visible" target="n11_jcej" value="false"/>
+    <item time="0" type="Visible" target="n9_jcej" value="true"/>
+    <item time="12" type="Visible" target="n10_jcej" value="true"/>
+    <item time="12" type="Visible" target="n9_jcej" value="false"/>
+    <item time="24" type="Visible" target="n11_jcej" value="true"/>
+  </transition>
 </component>

+ 2 - 2
FGUIProject/assets/Arena/ArenaRankUpUI.xml

@@ -7,7 +7,7 @@
     <image id="n11_jcej" name="n11" src="jcej1o" fileName="images/pmts_btbt.png" xy="67,0"/>
   </displayList>
   <transition name="t0">
-    <item time="12" type="XY" target="n1_psph" tween="true" startValue="407,1030" endValue="407,593" duration="12" ease="Linear"/>
-    <item time="12" type="XY" target="n9_psph" tween="true" startValue="407,593" endValue="407,1030" duration="12" ease="Linear"/>
+    <item time="12" type="XY" target="n1_psph" tween="true" startValue="407,660" endValue="407,223" duration="12" ease="Linear"/>
+    <item time="12" type="XY" target="n9_psph" tween="true" startValue="407,223" endValue="407,660" duration="12" ease="Linear"/>
   </transition>
 </component>

+ 3 - 9
FGUIProject/assets/Arena/ArenaResultQuickUI.xml

@@ -3,11 +3,11 @@
   <displayList>
     <image id="n25_jcej" name="n25" src="jcej25" fileName="images/bpjl_di.png" xy="0,0"/>
     <component id="n26_jcej" name="comTitle" src="jcej2z" fileName="components/ComTitle.xml" xy="299,40">
-      <property target="txtTitle" propertyId="0" value="比拼记录"/>
+      <property target="txtTitle" propertyId="0" value="快速挑战"/>
     </component>
     <image id="n28_jcej" name="n28" src="jcej28" fileName="images/kstzjj_edji.png" xy="29,171" size="888,151"/>
     <text id="n17_psph" name="txtTargetName" xy="121,217" pivot="0.5,0" size="142,49" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="36" color="#c09c6d" align="center" letterSpacing="-2" autoClearText="true" text="对手名字"/>
-    <component id="n23_psph" name="comTargetHeadWithlv" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="273,122" pivot="0.5,0.5" group="n29_jcej" scale="0.75,0.75"/>
+    <component id="n23_psph" name="comTargetHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="273,122" pivot="0.5,0.5" group="n29_jcej" scale="0.75,0.75"/>
     <image id="n38_jcej" name="n38" src="jcej2b" fileName="images/kstzjj_txk.png" xy="323,178" group="n29_jcej"/>
     <text id="n21_psph" name="n21" xy="507,195" size="71,46" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="34" color="#c09c6d" align="right" autoClearText="true" text="排名"/>
     <text id="n30_jcej" name="txtTargetRank" xy="475,230" pivot="0.5,0" size="138,64" group="n29_jcej" font="ui://eg2y0ldpweoktkb" fontSize="48" color="#c09c6d" align="center" letterSpacing="-2" bold="true" autoClearText="true" text="10000"/>
@@ -18,12 +18,6 @@
       <item/>
       <item/>
     </list>
-    <image id="n31_jcej" name="n31" src="jcej23" fileName="images/bpjl_pkdi.png" xy="170,897" group="n37_jcej"/>
-    <text id="n32_jcej" name="n32" xy="420,830" pivot="0.5,0" size="105,55" group="n37_jcej" font="ui://eg2y0ldpwonotjc" fontSize="34" color="#b18e60" vAlign="bottom" autoSize="none" text="总评分"/>
-    <text id="n33_jcej" name="txtMyFightScore" xy="270,901" pivot="1,0" size="154,69" group="n37_jcej" fontSize="52" color="#d89393" text="10000"/>
-    <text id="n34_jcej" name="n34" xy="453,915" pivot="0.5,0" size="39,41" group="n37_jcej" fontSize="30" color="#cc8a8a" text="VS"/>
-    <text id="n35_jcej" name="txtTargetFightScore" xy="521,901" size="154,69" group="n37_jcej" fontSize="52" color="#d89393" text="10000"/>
-    <loader id="n24_psph" name="loaResule" xy="356,1006" size="225,202" group="n37_jcej" url="ui://4lc5fhlbjcej2a" autoSize="true"/>
-    <group id="n37_jcej" name="n37" xy="170,830" size="606,378" advanced="true"/>
+    <component id="n39_jcej" name="comResult" src="jcej4m" fileName="components/ComFightResult.xml" xy="170,830"/>
   </displayList>
 </component>

+ 6 - 1
FGUIProject/assets/Arena/ArenaResultUI.xml

@@ -2,9 +2,14 @@
 <component size="1080,1183" designImage="ui://4lc5fhlbpsphi" designImageOffsetX="-10" designImageAlpha="0">
   <displayList>
     <image id="n15_jcej" name="n15" src="jcej2g" fileName="images/jjsjs_mbmb.png" xy="0,0"/>
-    <list id="n16_jcej" name="list" xy="61,338" size="958,507" defaultItem="ui://4lc5fhlbjcej30" align="center" vAlign="middle">
+    <list id="n16_jcej" name="list" xy="61,124" size="958,507" group="n24_jcej" defaultItem="ui://4lc5fhlbjcej30" align="center" vAlign="middle">
+      <item/>
       <item/>
       <item/>
     </list>
+    <component id="n17_jcej" name="ComResult" src="jcej4m" fileName="ComResult.xml" xy="237,681" group="n24_jcej"/>
+    <group id="n24_jcej" name="n24" xy="61,124" size="958,935" advanced="true" layout="vt" lineGap="50" excludeInvisibles="true">
+      <relation target="" sidePair="middle-middle"/>
+    </group>
   </displayList>
 </component>

+ 4 - 4
FGUIProject/assets/Arena/components/ComDanSimpleInfo.xml

@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="266,430">
-  <controller name="c1" exported="true" pages="0,,1," selected="1">
+  <controller name="c1" exported="true" pages="0,,1," selected="0">
     <remark page="0" value="自己"/>
     <remark page="1" value="对方"/>
   </controller>
   <displayList>
-    <loader id="n12_jcej" name="n12" xy="14,144" size="237,286" url="ui://4lc5fhlbjcej1n" autoSize="true">
+    <loader id="n12_jcej" name="n12" xy="14,144" size="237,286" url="ui://4lc5fhlbjcej1t" autoSize="true">
       <gearIcon controller="c1" pages="1" values="ui://4lc5fhlbjcej1n" default="ui://4lc5fhlbjcej1t"/>
     </loader>
-    <component id="n1_psph" name="comHeadWith" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="21,5" pivot="0.5,0.5" scale="1.5,1.5" controller="c1,1"/>
-    <loader id="n10_jcej" name="n10" xy="8,3" size="250,250" url="ui://4lc5fhlbjcej1s" autoSize="true">
+    <component id="n1_psph" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="21,5" pivot="0.5,0.5" scale="1.5,1.5" controller="c1,1"/>
+    <loader id="n10_jcej" name="n10" xy="8,3" size="250,250" url="ui://4lc5fhlbjcej1r" autoSize="true">
       <gearIcon controller="c1" pages="1" values="ui://4lc5fhlbjcej1s" default="ui://4lc5fhlbjcej1r"/>
     </loader>
     <text id="n6_psph" name="txtName" xy="67,254" pivot="0.5,0" size="132,44" font="ui://eg2y0ldpwonotjc" fontSize="32" color="#fef7f6" align="center" autoClearText="true" text="名字名字"/>

+ 2 - 3
FGUIProject/assets/Arena/components/ComMyDanReward.xml

@@ -7,8 +7,7 @@
       <item/>
       <item/>
     </list>
-    <loader id="n2_psph" name="loaDanIcon" xy="102,87" pivot="0.5,0.5" anchor="true" size="149,153" url="ui://4lc5fhlbpsphz" fill="scale"/>
-    <text id="n1_psph" name="txtDan" xy="37,161" size="136,46" fontSize="34" autoClearText="true" text="段位名字"/>
-    <loader id="n3_psph" name="loaSelf" xy="180,0" size="48,98" url="ui://4lc5fhlbjcej3o" autoSize="true"/>
+    <loader id="n2_psph" name="loaDanIcon" xy="144,87" pivot="0.5,0.5" anchor="true" size="149,153" url="ui://4lc5fhlbpsphz" fill="scale"/>
+    <loader id="n3_psph" name="loaSelf" xy="223,0" size="48,98" url="ui://4lc5fhlbjcej3o" autoSize="true"/>
   </displayList>
 </component>

+ 4 - 12
FGUIProject/assets/Arena/components/ListFightRecordItem.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="898,894">
+<component size="898,863">
   <controller name="c1" pages="0,,1," selected="1"/>
   <controller name="ctrDan" pages="0,,1,,2,,3," selected="0">
     <remark page="1" value="没变化"/>
@@ -24,7 +24,7 @@
     <text id="n5_psph" name="txtRank" xy="423,107" pivot="0.5,0" anchor="true" size="138,64" group="n11_psph" fontSize="48" color="#c09c6d" align="center" letterSpacing="-2" vars="true" bold="true" text="10000"/>
     <text id="n7_psph" name="txtTargetName" xy="582,69" size="148,49" group="n11_psph" font="ui://eg2y0ldpwonotjc" fontSize="36" color="#c09c6d" autoClearText="true" text="对手名字"/>
     <text id="n8_psph" name="txtTargetArenaScore" xy="582,122" size="225,39" group="n11_psph" font="ui://eg2y0ldpwonotjc" fontSize="28" color="#c09c6d" text="竞技场战力:999"/>
-    <component id="n15_jcej" name="btnLook" src="jcej2w" fileName="images/BtnLook.xml" xy="509,90" size="58,59" group="n11_psph"/>
+    <component id="n15_jcej" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="509,90" size="58,59" group="n11_psph"/>
     <component id="n9_psph" name="btnShow" src="psph14" fileName="components/BtnShow.xml" xy="832,97" size="37,46" group="n11_psph">
       <Button checked="true" controller="c1" page="1"/>
       <property target="icon" propertyId="1" value="ui://4lc5fhlbjcej22"/>
@@ -36,16 +36,8 @@
       <item/>
       <item/>
     </list>
-    <image id="n18_jcej" name="n18" src="jcej23" fileName="images/bpjl_pkdi.png" xy="146,759" group="n22_jcej"/>
-    <text id="n23_jcej" name="n23" xy="396,692" pivot="0.5,0" size="105,55" group="n22_jcej" font="ui://eg2y0ldpwonotjc" fontSize="34" color="#b18e60" vAlign="bottom" autoSize="none" text="总评分"/>
-    <text id="n19_jcej" name="txtMyScore" xy="246,763" pivot="1,0" size="154,69" group="n22_jcej" fontSize="52" color="#d89393" text="10000"/>
-    <text id="n21_jcej" name="n21" xy="429,777" pivot="0.5,0" size="39,41" group="n22_jcej" fontSize="30" color="#cc8a8a" text="VS"/>
-    <text id="n20_jcej" name="txtTargetScore" xy="497,763" size="154,69" group="n22_jcej" fontSize="52" color="#d89393" text="10000"/>
-    <text id="n25_jcej" name="n25" xy="442,839" size="14,54" group="n22_jcej" fontSize="40" color="#d89393" text=" "/>
-    <group id="n22_jcej" name="n22" xy="146,692" size="606,201" group="n12_psph" advanced="true">
-      <gearDisplay controller="c1" pages="1"/>
-    </group>
-    <group id="n12_psph" name="grpAllInfo" xy="0,0" size="898,893" advanced="true" layout="vt" excludeInvisibles="true"/>
+    <component id="n27_jcej" name="n27" src="jcej4n" fileName="ComResult.xml" xy="146,692" group="n12_psph"/>
+    <group id="n12_psph" name="grpAllInfo" xy="0,0" size="898,862" advanced="true" layout="vt" excludeInvisibles="true"/>
   </displayList>
   <relation target="n12_psph" sidePair="height-height"/>
 </component>

+ 2 - 2
FGUIProject/assets/Arena/components/ListRankItem.xml

@@ -13,7 +13,7 @@
     <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"/>
+    <text id="n13_jcej" name="txtDanRank" xy="30,323" size="139,34" font="ui://eg2y0ldpwonotjc" fontSize="24" color="#927550" align="center" autoClearText="true" text="段位排:1"/>
+    <text id="n14_jcej" name="txtFightScore" xy="30,288" size="218,34" font="ui://eg2y0ldpwonotjc" fontSize="24" color="#927550" letterSpacing="-2" text="竞技场战力:111111"/>
   </displayList>
 </component>

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

@@ -9,7 +9,7 @@
     <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="竞技场战力:--"/>
+    <text id="n15_psph" name="txtFightScore" 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"/>

+ 2 - 2
FGUIProject/assets/Arena/components/ListRecordItem.xml

@@ -3,13 +3,13 @@
   <displayList>
     <image id="n9_jcej" name="n9" src="jcej24" fileName="images/bpjl_bpdi.png" xy="0,0"/>
     <loader id="n1_psph" name="loaScore" xy="36,53" size="58,58" url="ui://eg2y0ldp842s6h" autoSize="true" clearOnPublish="true"/>
-    <text id="n2_psph" name="txtMyFightScore" xy="145,54" size="76,56" fontSize="42" color="#b07c7c" align="right" autoClearText="true" text="999"/>
+    <text id="n2_psph" name="txtMyScore" xy="145,54" size="76,56" fontSize="42" color="#b07c7c" align="right" autoClearText="true" text="999"/>
     <component id="n3_psph" name="comMyHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="177,-36" pivot="0.5,0.5" scale="0.58,0.58"/>
     <component id="n4_psph" name="loaMyCard" src="jcej2u" fileName="components/ComCardRecord.xml" xy="363,44"/>
     <text id="n11_jcej" name="n11" xy="465,60" size="36,44" fontSize="32" color="#b07c7c" text="vs"/>
     <component id="n6_psph" name="loaTargetCard" src="jcej2u" fileName="components/ComCardRecord.xml" xy="527,44"/>
     <component id="n7_psph" name="comTargetHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="563,-36" pivot="0.5,0.5" scale="0.58,0.58"/>
-    <text id="n8_psph" name="txtTargetFightScore" xy="747,54" size="76,56" fontSize="42" color="#b07c7c" autoClearText="true" text="999"/>
+    <text id="n8_psph" name="txtTargetScore" xy="747,54" size="76,56" fontSize="42" color="#b07c7c" autoClearText="true" text="999"/>
     <image id="n10_jcej" name="n10" src="jcej2c" fileName="images/jjsjs_txk_2.png" xy="241,33"/>
     <image id="n14_jcej" name="n14" src="jcej2c" fileName="images/jjsjs_txk_2.png" xy="628,33"/>
   </displayList>

+ 2 - 2
FGUIProject/assets/Arena/components/ListResultItem.xml

@@ -3,13 +3,13 @@
   <displayList>
     <image id="n9_jcej" name="n9" src="jcej2f" fileName="images/jjsjs_di.png" xy="0,0"/>
     <loader id="n1_psph" name="loaScore" xy="36,53" size="58,58" url="ui://eg2y0ldp842s6h" autoSize="true" clearOnPublish="true"/>
-    <text id="n2_psph" name="txtMyFightScore" xy="108,54" pivot="0.5,0" size="124,56" fontSize="42" color="#b07c7c" align="center" autoClearText="true" text="99900"/>
+    <text id="n2_psph" name="txtMyScore" xy="108,54" pivot="0.5,0" size="124,56" fontSize="42" color="#b07c7c" align="center" autoClearText="true" text="99900"/>
     <component id="n3_psph" name="comMyHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="177,-36" pivot="0.5,0.5" scale="0.58,0.58"/>
     <component id="n4_psph" name="loaMyCard" src="jcej2u" fileName="components/ComCardRecord.xml" xy="360,44"/>
     <text id="n11_jcej" name="n11" xy="458,60" size="118,44" fontSize="32" color="#b07c7c" letterSpacing="-2" text="Round 1"/>
     <component id="n6_psph" name="loaTargetCard" src="jcej2u" fileName="components/ComCardRecord.xml" xy="595,44"/>
     <component id="n7_psph" name="comTargetHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="627,-36" pivot="0.5,0.5" scale="0.58,0.58"/>
-    <text id="n8_psph" name="txtTargetFightScore" xy="795,54" pivot="0.5,0" size="124,56" fontSize="42" color="#b07c7c" align="center" autoClearText="true" text="99900"/>
+    <text id="n8_psph" name="txtTargetScore" xy="795,54" pivot="0.5,0" size="124,56" fontSize="42" color="#b07c7c" align="center" autoClearText="true" text="99900"/>
     <image id="n10_jcej" name="n10" src="jcej2c" fileName="images/jjsjs_txk_2.png" xy="241,33"/>
     <image id="n14_jcej" name="n14" src="jcej2c" fileName="images/jjsjs_txk_2.png" xy="692,33"/>
   </displayList>

+ 5 - 3
FGUIProject/assets/Arena/package.xml

@@ -36,7 +36,7 @@
     <image id="psph13" name="zd_pfziti_3.png" path="/images/"/>
     <component id="psph14" name="BtnShow.xml" path="/components/"/>
     <component id="psph15" name="ListFightRecordItem.xml" path="/components/"/>
-    <component id="psph16" name="comListType.xml" path="/components/"/>
+    <component id="psph16" name="ComListType.xml" path="/components/"/>
     <image id="psph17" name="hz_zdikuang_1.png" path="/images/" scale="9grid" scale9grid="56,23,112,46"/>
     <image id="psph1c" name="hz_zdikuang_2.png" path="/images/"/>
     <component id="psph1d" name="ComCard.xml" path="/components/"/>
@@ -70,8 +70,8 @@
     <image id="jcej26" name="kstzjj_btbt1.png" path="/images/"/>
     <image id="jcej27" name="kstzjj_di.png" path="/images/"/>
     <image id="jcej28" name="kstzjj_edji.png" path="/images/"/>
-    <image id="jcej29" name="kstzjj_shib.png" path="/images/"/>
-    <image id="jcej2a" name="kstzjj_slsl.png" path="/images/"/>
+    <image id="jcej29" name="kstzjj_shib.png" path="/images/" exported="true"/>
+    <image id="jcej2a" name="kstzjj_slsl.png" path="/images/" exported="true"/>
     <image id="jcej2b" name="kstzjj_txk.png" path="/images/"/>
     <image id="jcej2c" name="jjsjs_txk_2.png" path="/images/"/>
     <image id="jcej2d" name="bpjl_ktx_2.png" path="/images/"/>
@@ -152,6 +152,8 @@
     <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/"/>
+    <component id="jcej4m" name="ComFightResult.xml" path="/components/"/>
+    <component id="jcej4n" name="ComFightScoreResult.xml" path="/components/"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Arena" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 4 - 4
FGUIProject/assets/Main/components/ComResult.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="265,601" pivot="0.5,0" anchor="true" overflow="hidden">
-  <controller name="c1" pages="0,,1,,2,,3," selected="0"/>
+  <controller name="c1" pages="0,,1,,2,,3," selected="3"/>
   <displayList>
-    <loader id="n9_wono" name="logResult" xy="0,0" size="265,601" url="ui://mfvz4q8kwonog1" autoSize="true">
+    <loader id="n9_wono" name="logResult" xy="0,0" size="265,601" url="ui://mfvz4q8kwonoge" autoSize="true">
       <gearIcon controller="c1" pages="1,2,3" values="ui://mfvz4q8kwonogc|ui://mfvz4q8kwonogd|ui://mfvz4q8kwonoge" default="ui://mfvz4q8kwonog1"/>
     </loader>
     <image id="n10_wono" name="n10" src="wonog7" fileName="imagesFight/zd_js_xing_1.png" xy="177,210" group="n13_wono">
@@ -14,8 +14,8 @@
     <image id="n12_wono" name="n12" src="wonog7" fileName="imagesFight/zd_js_xing_1.png" xy="177,276" group="n13_wono">
       <gearDisplay controller="c1" pages="3"/>
     </image>
-    <group id="n13_wono" name="n13" xy="177,210" size="0,0" advanced="true" layout="vt" excludeInvisibles="true"/>
-    <text id="n14_wono" name="txtScore" xy="109,352" pivot="0.5,0" size="78,54" fontSize="40" color="#ecf6fc" strokeColor="#749dc8" strokeSize="2" singleLine="true" text="666">
+    <group id="n13_wono" name="grpStar" xy="177,210" size="32,99" advanced="true" layout="vt" excludeInvisibles="true"/>
+    <text id="n14_wono" name="txtScore" xy="111,352" pivot="0.5,0" size="73,54" fontSize="40" color="#ecf6fc" strokeColor="#c49a49" strokeSize="2" singleLine="true" text="666">
       <gearColor controller="c1" pages="0" values="#ecf6fc,#749dc8" default="#ecf6fc,#c49a49"/>
     </text>
   </displayList>

+ 1 - 0
FGUIProject/assets/Main/package.xml

@@ -457,6 +457,7 @@
     <component id="psphj2" name="ComAllCircle.xml" path="/components/"/>
     <component id="psphj4" name="ComAllPerfect.xml" path="/components/"/>
     <component id="psphj5" name="ComClick.xml" path="/components/"/>
+    <component id="jcejj6" name="ArenaFightResultUI.xml" path="/" exported="true"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Main" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 3 - 1
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -97,6 +97,8 @@ namespace GFGGame
         public const string GALLERY_RANK_DATA_CHANGE = "GALLERY_RANK_DATA_CHANGE";//画廊排行榜数据变化
 
         public const string DOWNLOAD_FINISH = "DOWNLOAD_FINISH";//下载完成
-        public const string DOWNLOAD_FINISH_ONE = "DOWNLOAD_FINISH_One";//下载完成一个
+        public const string DOWNLOAD_FINISH_ONE = "DOWNLOAD_FINISH_ONE";//下载完成一个
+
+        public const string ARENA_FIGHT_RESULT = "ARENA_FIGHT_RESULT";//竞技场战斗结算
     }
 }

+ 52 - 51
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -19,9 +19,16 @@ namespace GFGGame
         public Dictionary<int, List<ArenaTargetData>> rankDatasDic = new Dictionary<int, List<ArenaTargetData>>();//排行榜数据
         public List<ArenaHistoryData> historyDatas = new List<ArenaHistoryData>();//获取竞技场历史记录
 
+        /*************************************************************************************************************************************/
         public int SelectThemeIndex = 0;//当前选中换装主题(ThemeList)的下标
-        public int SelectTargetIndex = 0;//当前选中挑战对象的下标
-        public int CurFightIndex = 0;//当前挑战的为第几场
+        public int SelectTargetIndex = -1;//当前选中挑战对象的下标
+        public int CurFightIndex = 0;//当前挑战场次下标
+        public List<long> myScore = new List<long>();//对战数据,三轮分数
+        public List<long> targetScore = new List<long>();//对战数据,三轮分数
+        public List<long> myFightScore = new List<long>();//对战数据,竞技场战力,搭配战力,卓越点击战力,卡牌战力
+        public List<long> targetFightScore = new List<long>();//对战数据,对手竞技场战力,搭配战力,卓越点击战力,卡牌战力
+
+        /*************************************************************************************************************************************/
 
         /// <summary>
         /// 是否快速挑战
@@ -147,90 +154,84 @@ namespace GFGGame
         /// <param name="roleDatas"></param>
         /// <param name="robotDatas"></param>
         /// <returns></returns>
-        public int GetAllFightScore(int roleType, List<FightRoleData> roleDatas, List<FightRobotData> robotDatas)
+        public long GetAllFightScore(int roleType, List<FightRoleData> roleDatas, List<FightRobotData> robotDatas)
         {
-            int fightScore = 0;
+            long fightScore = 0;
+            List<long> fightScoreDatas = GetFightScoreList(roleType, roleDatas, robotDatas);
+            for (int i = 0; i < fightScoreDatas.Count; i++)
+            {
+                fightScore += fightScoreDatas[i];
+            }
+            return fightScore;
+        }
+        /// <summary>
+        /// index=0:搭配战力
+        /// index=1:卓越点击战力
+        /// index=2:卡牌战力/技能战力
+        /// </summary>
+        /// <param name="roleType"></param>
+        /// <param name="roleDatas"></param>
+        /// <param name="robotDatas"></param>
+        /// <returns></returns>
+        public List<long> GetFightScoreList(int roleType, List<FightRoleData> roleDatas, List<FightRobotData> robotDatas)
+        {
+            List<long> fightScoreDatas = new List<long>();
+            long itemSum = 0;
+            long clickScore = 0;
+            long skillScore = 0;
             for (int i = 0; i < ThemeList.Count; i++)
             {
                 if (roleType == ArenaFightTargetType.PLAYER)
                 {
-                    fightScore += GetArenaRoleFightScore(roleDatas[i]);
+                    itemSum += GetItemScoreSum(roleDatas[i].itemScoreList);
+                    clickScore += GetPerfectClickScore(roleDatas[i]) / (long)ConstScoreSystem.PART_SCORE;
+                    skillScore += FightDataManager.Instance.GetSkillFightScore(itemSum, roleDatas[i].baseScore, roleDatas[i].cardId, roleDatas[i].cardScore, roleDatas[i].skillLvs);
                 }
                 else
                 {
-                    fightScore += GetArenaRobotFightScore(robotDatas[i]);
+                    itemSum += GetItemScoreSum(roleDatas[i].itemScoreList);
+                    clickScore += GetRobotPerfectClickScore(robotDatas[i]) / (long)ConstScoreSystem.PART_SCORE;
+                    skillScore += FightDataManager.Instance.GetSkillFightScore(itemSum, robotDatas[i].baseScore, robotDatas[i].cardId, robotDatas[i].cardScore, robotDatas[i].skillLvs);
                 }
             }
-            return fightScore;
-        }
-        /// <summary>
-        /// 获取玩家竞技场战力
-        /// </summary>
-        /// <returns></returns>
-        public int GetArenaRoleFightScore(FightRoleData roleDatas)
-        {
-            //竞技场战力=搭配战力+卓越点击战力+卡牌战力
-            //搭配战力=第1套搭配所有部件主属性和+第2套搭配所有部件主属性和+第3套搭配所有部件主属性和
-            //卓越点击战力=卓越点击评分和/2.33
-            //技能战力=(第1套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能1当前等级对应的战力系数+(第1套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能2当前等级对应的战力系数+(第1套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能3当前等级对应的战力系数+(第2套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能1当前等级对应的战力系数+(第2套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能2当前等级对应的战力系数+(第2套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能3当前等级对应的战力系数+(第3套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能1当前等级对应的战力系数+(第3套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能2当前等级对应的战力系数+(第3套搭配所有部件主属性和+卡牌主属性+人物基础分)*技能3当前等级对应的战力系数
-            double fightScore = 0;
-
-            FightRoleData roleData = FightDataManager.Instance.roleData;
-            double itemSum = GetItemScoreSum(roleDatas.itemScoreList);
-            double clickScore = GetPerfectClickScore(roleDatas) / ConstScoreSystem.PART_SCORE;
-            double skillScore = FightDataManager.Instance.GetSkillFightScore(itemSum, roleData.baseScore, roleData.cardId, roleData.cardScore, roleData.skillLvs);
-            fightScore = itemSum + clickScore + skillScore;
-
-            return (int)Math.Ceiling(fightScore);
-        }
-        /// <summary>
-        /// 获取竞技场机器人战力
-        /// </summary>
-        /// <returns></returns>
-        public int GetArenaRobotFightScore(FightRobotData robotData)
-        {
-            double fightScore = 0;
-
-            double itemSum = GetItemScoreSum(robotData.itemScoreList);
-            double clickScore = GetRobotPerfectClickScore(robotData) / ConstScoreSystem.PART_SCORE;
-            double skillScore = FightDataManager.Instance.GetSkillFightScore(itemSum, robotData.baseScore, robotData.cardId, robotData.cardScore, robotData.skillLvs);
-            fightScore = itemSum + clickScore + skillScore;
-
-            return (int)Math.Ceiling(fightScore);
+            fightScoreDatas.Add(itemSum);
+            fightScoreDatas.Add(clickScore);
+            fightScoreDatas.Add(skillScore);
+            return fightScoreDatas;
         }
 
         /// <summary>
         /// 所有部件主属性和
         /// </summary>
         /// <returns></returns>
-        public double GetItemScoreSum(List<int> itemScoreList)
+        public long GetItemScoreSum(List<int> itemScoreList)
         {
-            double scoreSum = 0;
+            long scoreSum = 0;
             for (int i = 0; i < itemScoreList.Count; i++)
             {
-                scoreSum += itemScoreList[i];
+                scoreSum += (long)itemScoreList[i];
             }
             return scoreSum;
 
         }
         //玩家卓越点击战力
-        private double GetPerfectClickScore(FightRoleData roleData)
+        private long GetPerfectClickScore(FightRoleData roleData)
         {
-            double clickScore = 0;
+            long clickScore = 0;
             foreach (int key in roleData.pardScoreListDic.Keys)
             {
-                clickScore += ScoreSystemData.Instance.GetPartScore(roleData, key, ClickType.PREFACT_CLICK, 0);
+                clickScore += (long)ScoreSystemData.Instance.GetPartScore(roleData, key, ClickType.PREFACT_CLICK, 0);
             }
             return clickScore;
         }
         //机器人卓越点击战力
-        private double GetRobotPerfectClickScore(FightRobotData robotData)
+        private long GetRobotPerfectClickScore(FightRobotData robotData)
         {
-            double clickScore = 0;
+            long clickScore = 0;
             FightScoreCfg[] scoreCfg = FightScoreCfgArray.Instance.dataArray;
             for (int i = 0; i < scoreCfg.Length; i++)
             {
-                clickScore += ScoreSystemData.Instance.GetRobotPartScore(robotData, i + 1, ClickType.PREFACT_CLICK, 0);
+                clickScore += (long)ScoreSystemData.Instance.GetRobotPartScore(robotData, i + 1, ClickType.PREFACT_CLICK, 0);
             }
             return clickScore;
         }

+ 71 - 0
GameClient/Assets/Game/HotUpdate/Data/ArenaViewManager.cs

@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using FairyGUI;
+using UI.Arena;
 using UnityEngine;
 
 namespace GFGGame
@@ -17,5 +18,75 @@ namespace GFGGame
         {
 
         }
+        public void UpdateFightRoundResult(GObject obj, int index, out bool isWin)
+        {
+            int scoreType = ArenaDataManager.Instance.ThemeList[index];
+            long myScore = ArenaDataManager.Instance.myFightScore[index];
+            int myCardId = ArenaDataManager.Instance.DressupList[index].cardId;
+            int myHeadId = ArenaDataManager.Instance.DressupList[index].headId;
+
+            long targetScore = ArenaDataManager.Instance.targetFightScore[index];
+            ArenaTargetData targetData = ArenaDataManager.Instance.Targets[index];
+            int targetCardId = 0;
+            int targetHeadId = 0;
+            string res = "";
+            if (targetData.Type == ArenaFightTargetType.PLAYER)
+            {
+                targetCardId = targetData.RoleDressupList[index].cardId;
+                targetHeadId = targetData.RoleDressupList[index].headId;
+            }
+            else
+            {
+                targetCardId = targetData.RobotDressupList[index].cardId;
+                res = targetData.RobotDressupList[index].res;
+            }
+
+            UI_ListResultItem item = UI_ListResultItem.Proxy(obj);
+
+            item.m_loaScore.url = ResPathUtil.GetScorePath(scoreType);
+            item.m_txtMyScore.text = myScore.ToString();
+            item.m_txtTargetScore.text = targetScore.ToString();
+            ItemCfg cardCfg = ItemCfgArray.Instance.GetCfg(myCardId);
+            item.m_loaMyCard.m_comCardmask.m_loaCard.url = ResPathUtil.GetCardSmallPath(cardCfg.res);
+            ItemCfg targetCardCfg = ItemCfgArray.Instance.GetCfg(targetCardId);
+            item.m_loaMyCard.m_comCardmask.m_loaCard.url = ResPathUtil.GetCardSmallPath(targetCardCfg.res);
+            RoleInfoManager.Instance.UpdateHead(item.m_comMyHead, myHeadId, 0);
+            if (targetCardId > 0)
+            {
+                RoleInfoManager.Instance.UpdateHead(item.m_comTargetHead, targetHeadId, 0);
+            }
+            else
+            {
+                RoleInfoManager.Instance.UpdateNpcHead(item.m_comTargetHead, res);
+            }
+            isWin = myScore > targetScore;
+            UI_ListResultItem.ProxyEnd();
+        }
+        public void UpdateFightResult(GObject obj, List<long> myScores, List<long> targetScore)
+        {
+            UI_ComFightResult com = UI_ComFightResult.Proxy(obj);
+            bool isWin = UpdateFightScoreResult(com.m_comResult.target, myScores, targetScore);
+            com.m_loaResule.url = isWin ? "ui://Arena/kstzjj_slsl" : "ui://Arena/kstzjj_shib";
+            UI_ComFightResult.ProxyEnd();
+        }
+        public bool UpdateFightScoreResult(GObject obj, List<long> myScores, List<long> targetScore)
+        {
+            int winCount = 0;
+            long myAllScore = 0;
+            long targetAllScore = 0;
+            for (int i = 0; i < myScores.Count; i++)
+            {
+                myAllScore += myScores[i];
+                targetAllScore += targetScore[i];
+                if (myScores[i] > targetScore[i]) winCount++;
+            }
+            UI_ComFightScoreResult com = UI_ComFightScoreResult.Proxy(obj);
+            com.m_txtMyFightScore.text = myAllScore.ToString();
+            com.m_txtTargetFightScore.text = targetAllScore.ToString();
+            UI_ComFightScoreResult.ProxyEnd();
+
+            bool isWin = winCount >= 2;
+            return isWin;
+        }
     }
 }

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

@@ -211,7 +211,7 @@ namespace GFGGame
                 }
                 _roleData.scoreType = InstanceZonesDataManager.currentScoreType; //本次战斗的主题
                 _roleData.cardId = InstanceZonesDataManager.currentCardId; ;//卡牌id
-                _roleData.cardScore = CardDataManager.GetCardDataById(_roleData.cardId).scores[_roleData.scoreType];//卡牌对应主题的属性分数
+                _roleData.cardScore = _roleData.cardId == 0 ? 0 : CardDataManager.GetCardDataById(_roleData.cardId).scores[_roleData.scoreType];//卡牌对应主题的属性分数
                 _roleData.itemList = MyDressUpHelper.dressUpObj.itemList;
 
             }
@@ -316,11 +316,11 @@ namespace GFGGame
         /// <param name="cardScore"></param>
         /// <param name="skillLvs"></param>
         /// <returns></returns>
-        public double GetSkillFightScore(double itemScoreSum, int baseScore, int cardId, int cardScore, List<int> skillLvs)
+        public long GetSkillFightScore(double itemScoreSum, int baseScore, int cardId, int cardScore, List<int> skillLvs)
         {
             // double itemSum = itemScoreSum;
-            double skillScore = 0;
-            double skillBaseScore = itemScoreSum + cardScore + baseScore;
+            long skillScore = 0;
+            long skillBaseScore = (long)itemScoreSum + cardScore + baseScore;
             List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
             for (int j = 0; j < skillCfgs.Count; j++)
             {

+ 13 - 0
GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs

@@ -178,5 +178,18 @@ namespace GFGGame
             UI_ComHead.ProxyEnd();
 
         }
+        public void UpdateNpcHead(GComponent component, string res)
+        {
+            UI_ComHead comHead = UI_ComHead.Proxy(component);
+            comHead.m_comHead.m_loaIcon.url = ResPathUtil.GetNpcHeadPath(res);
+            UI_ComHead.ProxyEnd();
+        }
+
+        public void UpdateLv(GComponent component, int lv)
+        {
+            UI_ComLv comLv = UI_ComLv.Proxy(component);
+            comLv.m_txtLvl.text = lv > 0 ? lv.ToString() : "--";
+            UI_ComLv.ProxyEnd();
+        }
     }
 }

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

@@ -97,7 +97,7 @@ namespace GFGGame
 
             for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
             {
-                partScore += GetRobotPartBaseScore(robotData, i);
+                partScore += GetRobotPartBaseScore(robotData, i + 1);
             }
 
             return (partScore + robotData.baseScore + robotData.cardScore) * ConstScoreSystem.MAIN_SCORE;

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

@@ -23,12 +23,12 @@ namespace GFGGame
         public List<FightRoleData> RoleDressupList = new List<FightRoleData>();//搭配列表
         public List<FightRobotData> RobotDressupList = new List<FightRobotData>();//机器人搭配列表
         public int GradeChangeType = 0;//是否晋级 ArenaGradeChangeType
-        public int SelfFightScore = 0;//自己战斗分数
-        public int OtherFightScore = 0;//对手战斗分数
+        public List<long> SelfRoundScores = new List<long>();//自己3轮战斗分数
+        public List<long> OtherRoundScores = new List<long>();//对手3轮战斗分数
         public int Grade = 1;//战斗后段位
         public int Rank = 1;//战斗后排行
-        public int SelfFightPower = 0;//自己战斗
-        public int TargetFightPower = 0;//对手战斗
+        public List<long> SelfFightScores = new List<long>();//自己 搭配战力,卓越点击战力,卡牌战
+        public List<long> TargetFightScores = new List<long>();// 对手 搭配战力,卓越点击战力,卡牌战
 
     }
 }

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

@@ -7,9 +7,9 @@ namespace GFGGame
         public long roleId;//机器人为0
         public string roleName;
         public int roleLv;
-        public int roleHead;//头像
-        public string roleHeadRes;//头像资源,机器人用
-        public int roleHeadBorder;//头像框
+        public int headId;//头像
+        public int headBorderId;//头像框
+        public string headRes;//头像资源,机器人用
         public long offlineTimeSec;//离线时间戳,单位秒,0表示在线
 
 

+ 12 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaDanUpUI.cs

@@ -8,9 +8,12 @@ namespace UI.Arena
     {
         public GComponent target;
         public Controller m_c1;
+        public GTextField m_txtlastDanTitle;
+        public GLoader m_loaLastDanIcon;
         public GLoader m_loaDanIcon;
-        public GList m_listFirstDanReward;
         public GTextField m_txtDanTitle;
+        public GList m_listFirstDanReward;
+        public Transition m_t0;
         public const string URL = "ui://4lc5fhlbpsph8";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ArenaDanUpUI";
@@ -59,16 +62,22 @@ namespace UI.Arena
         private void Init(GComponent comp)
         {
             m_c1 = comp.GetController("c1");
+            m_txtlastDanTitle = (GTextField)comp.GetChild("txtlastDanTitle");
+            m_loaLastDanIcon = (GLoader)comp.GetChild("loaLastDanIcon");
             m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
-            m_listFirstDanReward = (GList)comp.GetChild("listFirstDanReward");
             m_txtDanTitle = (GTextField)comp.GetChild("txtDanTitle");
+            m_listFirstDanReward = (GList)comp.GetChild("listFirstDanReward");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
+            m_txtlastDanTitle = null;
+            m_loaLastDanIcon = null;
             m_loaDanIcon = null;
-            m_listFirstDanReward = null;
             m_txtDanTitle = null;
+            m_listFirstDanReward = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 7 - 12
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaResultQuickUI.cs

@@ -9,13 +9,11 @@ namespace UI.Arena
         public GComponent target;
         public UI_ComTitle m_comTitle;
         public GTextField m_txtTargetName;
-        public GComponent m_comTargetHeadWithlv;
+        public GComponent m_comTargetHead;
         public GTextField m_txtTargetRank;
         public GTextField m_txtDantitle;
         public GList m_list;
-        public GTextField m_txtMyFightScore;
-        public GTextField m_txtTargetFightScore;
-        public GLoader m_loaResule;
+        public UI_ComFightResult m_comResult;
         public const string URL = "ui://4lc5fhlbpsphx";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ArenaResultQuickUI";
@@ -65,26 +63,23 @@ namespace UI.Arena
         {
             m_comTitle = (UI_ComTitle)UI_ComTitle.Create(comp.GetChild("comTitle"));
             m_txtTargetName = (GTextField)comp.GetChild("txtTargetName");
-            m_comTargetHeadWithlv = (GComponent)comp.GetChild("comTargetHeadWithlv");
+            m_comTargetHead = (GComponent)comp.GetChild("comTargetHead");
             m_txtTargetRank = (GTextField)comp.GetChild("txtTargetRank");
             m_txtDantitle = (GTextField)comp.GetChild("txtDantitle");
             m_list = (GList)comp.GetChild("list");
-            m_txtMyFightScore = (GTextField)comp.GetChild("txtMyFightScore");
-            m_txtTargetFightScore = (GTextField)comp.GetChild("txtTargetFightScore");
-            m_loaResule = (GLoader)comp.GetChild("loaResule");
+            m_comResult = (UI_ComFightResult)UI_ComFightResult.Create(comp.GetChild("comResult"));
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_comTitle.Dispose();
             m_comTitle = null;
             m_txtTargetName = null;
-            m_comTargetHeadWithlv = null;
+            m_comTargetHead = null;
             m_txtTargetRank = null;
             m_txtDantitle = null;
             m_list = null;
-            m_txtMyFightScore = null;
-            m_txtTargetFightScore = null;
-            m_loaResule = null;
+            m_comResult.Dispose();
+            m_comResult = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 4 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaResultUI.cs

@@ -8,6 +8,7 @@ namespace UI.Arena
     {
         public GComponent target;
         public GList m_list;
+        public UI_ComFightResult m_ComResult;
         public const string URL = "ui://4lc5fhlbpsph6";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ArenaResultUI";
@@ -56,10 +57,13 @@ namespace UI.Arena
         private void Init(GComponent comp)
         {
             m_list = (GList)comp.GetChild("list");
+            m_ComResult = (UI_ComFightResult)UI_ComFightResult.Create(comp.GetChild("ComResult"));
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_list = null;
+            m_ComResult.Dispose();
+            m_ComResult = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -8,7 +8,7 @@ namespace UI.Arena
     {
         public GComponent target;
         public Controller m_c1;
-        public GComponent m_comHeadWith;
+        public GComponent m_comHead;
         public GTextField m_txtName;
         public GTextField m_txtDanTitle;
         public GTextField m_txtRank;
@@ -60,7 +60,7 @@ namespace UI.Arena
         private void Init(GComponent comp)
         {
             m_c1 = comp.GetController("c1");
-            m_comHeadWith = (GComponent)comp.GetChild("comHeadWith");
+            m_comHead = (GComponent)comp.GetChild("comHead");
             m_txtName = (GTextField)comp.GetChild("txtName");
             m_txtDanTitle = (GTextField)comp.GetChild("txtDanTitle");
             m_txtRank = (GTextField)comp.GetChild("txtRank");
@@ -68,7 +68,7 @@ namespace UI.Arena
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
-            m_comHeadWith = null;
+            m_comHead = null;
             m_txtName = null;
             m_txtDanTitle = null;
             m_txtRank = null;

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

@@ -9,7 +9,6 @@ namespace UI.Arena
         public GComponent target;
         public GList m_listReward;
         public GLoader m_loaDanIcon;
-        public GTextField m_txtDan;
         public GLoader m_loaSelf;
         public const string URL = "ui://4lc5fhlbpspho";
         public const string PACKAGE_NAME = "Arena";
@@ -60,14 +59,12 @@ namespace UI.Arena
         {
             m_listReward = (GList)comp.GetChild("listReward");
             m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
-            m_txtDan = (GTextField)comp.GetChild("txtDan");
             m_loaSelf = (GLoader)comp.GetChild("loaSelf");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_listReward = null;
             m_loaDanIcon = null;
-            m_txtDan = null;
             m_loaSelf = null;
             if(disposeTarget && target != null)
             {

+ 0 - 6
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListFightRecordItem.cs

@@ -22,8 +22,6 @@ namespace UI.Arena
         public GButton m_btnShow;
         public GGroup m_grpSimpleInfo;
         public GList m_listResult;
-        public GTextField m_txtMyScore;
-        public GTextField m_txtTargetScore;
         public GGroup m_grpAllInfo;
         public const string URL = "ui://4lc5fhlbpsph15";
         public const string PACKAGE_NAME = "Arena";
@@ -87,8 +85,6 @@ namespace UI.Arena
             m_btnShow = (GButton)comp.GetChild("btnShow");
             m_grpSimpleInfo = (GGroup)comp.GetChild("grpSimpleInfo");
             m_listResult = (GList)comp.GetChild("listResult");
-            m_txtMyScore = (GTextField)comp.GetChild("txtMyScore");
-            m_txtTargetScore = (GTextField)comp.GetChild("txtTargetScore");
             m_grpAllInfo = (GGroup)comp.GetChild("grpAllInfo");
         }
         public void Dispose(bool disposeTarget = false)
@@ -108,8 +104,6 @@ namespace UI.Arena
             m_btnShow = null;
             m_grpSimpleInfo = null;
             m_listResult = null;
-            m_txtMyScore = null;
-            m_txtTargetScore = null;
             m_grpAllInfo = null;
             if(disposeTarget && target != null)
             {

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

@@ -14,8 +14,8 @@ namespace UI.Arena
         public GButton m_btnLook;
         public GLoader m_loaDanIcon;
         public GTextField m_txtName;
-        public GTextField m_txtRank;
-        public GTextField m_txtScore;
+        public GTextField m_txtDanRank;
+        public GTextField m_txtFightScore;
         public const string URL = "ui://4lc5fhlbpsphu";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ListRankItem";
@@ -70,8 +70,8 @@ namespace UI.Arena
             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");
+            m_txtDanRank = (GTextField)comp.GetChild("txtDanRank");
+            m_txtFightScore = (GTextField)comp.GetChild("txtFightScore");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -82,8 +82,8 @@ namespace UI.Arena
             m_btnLook = null;
             m_loaDanIcon = null;
             m_txtName = null;
-            m_txtRank = null;
-            m_txtScore = null;
+            m_txtDanRank = null;
+            m_txtFightScore = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -11,7 +11,7 @@ namespace UI.Arena
         public GLoader m_loaDanIcon;
         public GTextField m_txtDanRank;
         public GTextField m_txtName;
-        public GTextField m_txtArenaScore;
+        public GTextField m_txtFightScore;
         public GComponent m_comHead;
         public GButton m_btnLook;
         public GComponent m_comLv;
@@ -66,7 +66,7 @@ namespace UI.Arena
             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_txtFightScore = (GTextField)comp.GetChild("txtFightScore");
             m_comHead = (GComponent)comp.GetChild("comHead");
             m_btnLook = (GButton)comp.GetChild("btnLook");
             m_comLv = (GComponent)comp.GetChild("comLv");
@@ -77,7 +77,7 @@ namespace UI.Arena
             m_loaDanIcon = null;
             m_txtDanRank = null;
             m_txtName = null;
-            m_txtArenaScore = null;
+            m_txtFightScore = null;
             m_comHead = null;
             m_btnLook = null;
             m_comLv = null;

+ 6 - 6
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRecordItem.cs

@@ -8,12 +8,12 @@ namespace UI.Arena
     {
         public GComponent target;
         public GLoader m_loaScore;
-        public GTextField m_txtMyFightScore;
+        public GTextField m_txtMyScore;
         public GComponent m_comMyHead;
         public UI_ComCardRecord m_loaMyCard;
         public UI_ComCardRecord m_loaTargetCard;
         public GComponent m_comTargetHead;
-        public GTextField m_txtTargetFightScore;
+        public GTextField m_txtTargetScore;
         public const string URL = "ui://4lc5fhlbpsphp";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ListRecordItem";
@@ -62,24 +62,24 @@ namespace UI.Arena
         private void Init(GComponent comp)
         {
             m_loaScore = (GLoader)comp.GetChild("loaScore");
-            m_txtMyFightScore = (GTextField)comp.GetChild("txtMyFightScore");
+            m_txtMyScore = (GTextField)comp.GetChild("txtMyScore");
             m_comMyHead = (GComponent)comp.GetChild("comMyHead");
             m_loaMyCard = (UI_ComCardRecord)UI_ComCardRecord.Create(comp.GetChild("loaMyCard"));
             m_loaTargetCard = (UI_ComCardRecord)UI_ComCardRecord.Create(comp.GetChild("loaTargetCard"));
             m_comTargetHead = (GComponent)comp.GetChild("comTargetHead");
-            m_txtTargetFightScore = (GTextField)comp.GetChild("txtTargetFightScore");
+            m_txtTargetScore = (GTextField)comp.GetChild("txtTargetScore");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaScore = null;
-            m_txtMyFightScore = null;
+            m_txtMyScore = null;
             m_comMyHead = null;
             m_loaMyCard.Dispose();
             m_loaMyCard = null;
             m_loaTargetCard.Dispose();
             m_loaTargetCard = null;
             m_comTargetHead = null;
-            m_txtTargetFightScore = null;
+            m_txtTargetScore = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 6
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListResultItem.cs

@@ -8,12 +8,12 @@ namespace UI.Arena
     {
         public GComponent target;
         public GLoader m_loaScore;
-        public GTextField m_txtMyFightScore;
+        public GTextField m_txtMyScore;
         public GComponent m_comMyHead;
         public UI_ComCardRecord m_loaMyCard;
         public UI_ComCardRecord m_loaTargetCard;
         public GComponent m_comTargetHead;
-        public GTextField m_txtTargetFightScore;
+        public GTextField m_txtTargetScore;
         public const string URL = "ui://4lc5fhlbjcej30";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ListResultItem";
@@ -62,24 +62,24 @@ namespace UI.Arena
         private void Init(GComponent comp)
         {
             m_loaScore = (GLoader)comp.GetChild("loaScore");
-            m_txtMyFightScore = (GTextField)comp.GetChild("txtMyFightScore");
+            m_txtMyScore = (GTextField)comp.GetChild("txtMyScore");
             m_comMyHead = (GComponent)comp.GetChild("comMyHead");
             m_loaMyCard = (UI_ComCardRecord)UI_ComCardRecord.Create(comp.GetChild("loaMyCard"));
             m_loaTargetCard = (UI_ComCardRecord)UI_ComCardRecord.Create(comp.GetChild("loaTargetCard"));
             m_comTargetHead = (GComponent)comp.GetChild("comTargetHead");
-            m_txtTargetFightScore = (GTextField)comp.GetChild("txtTargetFightScore");
+            m_txtTargetScore = (GTextField)comp.GetChild("txtTargetScore");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaScore = null;
-            m_txtMyFightScore = null;
+            m_txtMyScore = null;
             m_comMyHead = null;
             m_loaMyCard.Dispose();
             m_loaMyCard = null;
             m_loaTargetCard.Dispose();
             m_loaTargetCard = null;
             m_comTargetHead = null;
-            m_txtTargetFightScore = null;
+            m_txtTargetScore = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComResult.cs

@@ -9,6 +9,7 @@ namespace UI.Main
         public GComponent target;
         public Controller m_c1;
         public GLoader m_logResult;
+        public GGroup m_grpStar;
         public GTextField m_txtScore;
         public const string URL = "ui://mfvz4q8kwonogf";
         public const string PACKAGE_NAME = "Main";
@@ -59,12 +60,14 @@ namespace UI.Main
         {
             m_c1 = comp.GetController("c1");
             m_logResult = (GLoader)comp.GetChild("logResult");
+            m_grpStar = (GGroup)comp.GetChild("grpStar");
             m_txtScore = (GTextField)comp.GetChild("txtScore");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_c1 = null;
             m_logResult = null;
+            m_grpStar = null;
             m_txtScore = null;
             if(disposeTarget && target != null)
             {

+ 48 - 30
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -84,12 +84,9 @@ namespace GFGGame
         //更换搭配
         public static async ETTask<bool> ReqChangeArenaDressup(int index, int cardId, List<int> itemList)
         {
-            ArenaDressupProto dressupInfo = new ArenaDressupProto();
-            dressupInfo.CardId = cardId;
-            dressupInfo.EquipIds = itemList;
 
             S2C_ChangeArenaDressup response = null;
-            response = (S2C_ChangeArenaDressup)await MessageHelper.SendToServer(new C2S_ChangeArenaDressup() { Index = index, DressupInfo = dressupInfo });
+            response = (S2C_ChangeArenaDressup)await MessageHelper.SendToServer(new C2S_ChangeArenaDressup() { Index = index, CardId = cardId, EquipIds = itemList });
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
@@ -120,49 +117,70 @@ namespace GFGGame
         }
 
         //挑战
-        public static async ETTask ReqArenaFight(bool isWin, int type, long targetRoleId, int selfFightPower, int targetFightPower, List<int> myScore, List<int> targetScore)
+        public static async ETTask<bool> ReqArenaFight(bool isWin, ArenaTargetData targetData, List<long> selfFightPower, List<long> targetFightPower, List<long> myScore, List<long> targetScore)
         {
 
             S2C_ArenaFight response = null;
             response = (S2C_ArenaFight)await MessageHelper.SendToServer(new C2S_ArenaFight()
             {
                 RoleId = RoleDataManager.roleId,
-                Grade = ArenaDataManager.Instance.Grade,
-                RankInGrade = ArenaDataManager.Instance.Rank,
-                Type = type,
-                TargetRoleId = targetRoleId,
+                Grade = targetData.Grade,
+                RankInGrade = targetData.RankInGrade,
+                Type = targetData.Type,
+                TargetRoleId = targetData.RoleInfo.roleId,
                 IsWin = isWin,
                 SelfFightPower = selfFightPower,
-                TargetFightPower = targetFightPower
+                TargetFightPower = targetFightPower,
+                SelfRandScore = myScore,
+                TargetRandScore = targetScore,
             });
             if (response != null && response.targets != null)
             {
-
+                int lastGrade = ArenaDataManager.Instance.Grade;
+                int lastRank = ArenaDataManager.Instance.Rank;
+                string targetName = targetData.RoleInfo.roleName;
+                int targetHeadId = targetData.RoleInfo.headId;
+                string headRes = targetData.RoleInfo.headRes;
 
                 ArenaDataManager.Instance.Targets.Clear();
                 for (int i = 0; i < response.targets.Count; i++)
                 {
                     ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.targets[i]));
                 }
+                EventAgent.DispatchEvent(ConstMessage.ARENA_FIGHT_RESULT);
+
                 if (response.Error != ErrorCode.ERR_Success)
                 {
                     PromptController.Instance.ShowFloatTextPrompt("该玩家排名已经发生变化,请重新选择");
-                    return;
+                    return false;
                 }
+
                 ArenaDataManager.Instance.Grade = response.Grade;
                 ArenaDataManager.Instance.Rank = response.RankInGrade;
                 ArenaDataManager.Instance.TryUpdateHighest();
+                List<ItemData> bonusList = ItemUtil.CreateItemDataList(response.rewards);
 
-                // 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 });
-                // }
-
+                if (response.Grade > ArenaDataManager.Instance.Grade)
+                {
+                    BonusController.TryShowBonusList(bonusList, () =>
+                    {
+                        ViewManager.Show<ArenaDanUpView>(new object[] { lastGrade, ArenaDataManager.Instance.Grade, response.RewardId });
+                    });
+                }
+                else if (response.RankInGrade > ArenaDataManager.Instance.Rank)
+                {
+                    BonusController.TryShowBonusList(bonusList, () =>
+                    {
+                        ViewManager.Show<ArenaRankUpView>(new object[] { lastGrade, lastRank, targetHeadId, headRes, targetName });
+                    });
+                }
+                else
+                {
+                    BonusController.TryShowBonusList(bonusList);
+                }
+                return true;
             }
+            return false;
         }
 
         //获取排行榜
@@ -242,7 +260,7 @@ namespace GFGGame
                 arenaTarget.RoleInfo.roleId = arenaHistory.RoleInfo.RoleId;
                 arenaTarget.RoleInfo.roleName = arenaHistory.RoleInfo.RoleName;
                 arenaTarget.RoleInfo.roleLv = arenaHistory.RoleInfo.RoleLvl;
-                arenaTarget.RoleInfo.roleHead = arenaHistory.RoleInfo.HeadItemId;
+                arenaTarget.RoleInfo.headId = arenaHistory.RoleInfo.HeadItemId;
             }
             else
             {
@@ -251,7 +269,7 @@ namespace GFGGame
                 arenaTarget.RoleInfo.roleId = 0;
                 arenaTarget.RoleInfo.roleName = robotCfg.gradeName;
                 arenaTarget.RoleInfo.roleLv = robotCfg.level;
-                arenaTarget.RoleInfo.roleHeadRes = robotCfg.targetRes;
+                arenaTarget.RoleInfo.headRes = robotCfg.targetRes;
             }
             for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
             {
@@ -267,12 +285,12 @@ namespace GFGGame
                 }
             }
             arenaTarget.GradeChangeType = arenaHistory.GradeChangeType;
-            arenaTarget.SelfFightScore = arenaHistory.SelfFightScore;
-            arenaTarget.OtherFightScore = arenaHistory.OtherFightScore;
+            arenaTarget.SelfRoundScores = arenaHistory.SelfRandScore;
+            arenaTarget.OtherRoundScores = arenaHistory.TargetRandScore;
             arenaTarget.Grade = arenaHistory.Grade;
             arenaTarget.Rank = arenaHistory.Rank;
-            arenaTarget.SelfFightPower = arenaHistory.SelfFightPower;
-            arenaTarget.TargetFightPower = arenaHistory.TargetFightPower;
+            arenaTarget.SelfFightScores = arenaHistory.SelfFightPower;
+            arenaTarget.TargetFightScores = arenaHistory.TargetFightPower;
             return arenaTarget;
         }
 
@@ -287,7 +305,7 @@ namespace GFGGame
                 arenaTarget.RoleInfo.roleId = arenaTargetProto.RoleInfo.RoleId;
                 arenaTarget.RoleInfo.roleName = arenaTargetProto.RoleInfo.RoleName;
                 arenaTarget.RoleInfo.roleLv = arenaTargetProto.RoleInfo.RoleLvl;
-                arenaTarget.RoleInfo.roleHead = arenaTargetProto.RoleInfo.HeadItemId;
+                arenaTarget.RoleInfo.headId = arenaTargetProto.RoleInfo.HeadItemId;
             }
             else
             {
@@ -296,7 +314,7 @@ namespace GFGGame
                 arenaTarget.RoleInfo.roleId = 0;
                 arenaTarget.RoleInfo.roleName = robotCfg.gradeName;
                 arenaTarget.RoleInfo.roleLv = robotCfg.level;
-                arenaTarget.RoleInfo.roleHeadRes = robotCfg.targetRes;
+                arenaTarget.RoleInfo.headRes = robotCfg.targetRes;
             }
             arenaTarget.RoleDressupList.Clear();
             arenaTarget.RobotDressupList.Clear();
@@ -321,7 +339,7 @@ namespace GFGGame
         {
             FightRoleData roleData = new FightRoleData();
             roleData.name = roleInfo.roleName;
-            roleData.headId = roleInfo.roleHead;
+            roleData.headId = roleInfo.headId;
 
             roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(roleInfo.roleLv).baseScore;
             roleData.cardId = dressupProto.CardId;

+ 2 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/DataChangeUtil.cs

@@ -12,8 +12,8 @@ namespace GFGGame
             roleInfoData.roleName = info.RoleName;
             roleInfoData.roleLv = info.RoleLvl;
             roleInfoData.offlineTimeSec = info.OfflineTimeSec;
-            roleInfoData.roleHead = info.HeadItemId;
-            roleInfoData.roleHeadBorder = info.HeadBorderItemId;
+            roleInfoData.headId = info.HeadItemId;
+            roleInfoData.headBorderId = info.HeadBorderItemId;
 
             return roleInfoData;
         }

+ 10 - 10
GameClient/Assets/Game/HotUpdate/ServerProxy/FriendSProxy.cs

@@ -54,8 +54,8 @@ namespace ET
             roleInfo.roleName = message.FriendInfo.RoleInfo.RoleName;
             roleInfo.roleLv = message.FriendInfo.RoleInfo.RoleLvl;
             roleInfo.offlineTimeSec = message.FriendInfo.RoleInfo.OfflineTimeSec;
-            roleInfo.roleHead = message.FriendInfo.RoleInfo.HeadItemId;
-            roleInfo.roleHeadBorder = message.FriendInfo.RoleInfo.HeadBorderItemId;
+            roleInfo.headId = message.FriendInfo.RoleInfo.HeadItemId;
+            roleInfo.headBorderId = message.FriendInfo.RoleInfo.HeadBorderItemId;
 
             FriendInfoData friendInfo = new FriendInfoData();
             friendInfo.roleInfo = roleInfo;
@@ -83,8 +83,8 @@ namespace ET
                 roleInfo.roleName = message.FriendList[i].RoleInfo.RoleName;
                 roleInfo.roleLv = message.FriendList[i].RoleInfo.RoleLvl;
                 roleInfo.offlineTimeSec = message.FriendList[i].RoleInfo.OfflineTimeSec;
-                roleInfo.roleHead = message.FriendList[i].RoleInfo.HeadItemId;
-                roleInfo.roleHeadBorder = message.FriendList[i].RoleInfo.HeadBorderItemId;
+                roleInfo.headId = message.FriendList[i].RoleInfo.HeadItemId;
+                roleInfo.headBorderId = message.FriendList[i].RoleInfo.HeadBorderItemId;
 
                 FriendInfoData friendInfo = new FriendInfoData();
                 friendInfo.roleInfo = roleInfo;
@@ -147,8 +147,8 @@ namespace GFGGame
                         roleInfo.roleName = response.FriendList[i].RoleInfo.RoleName;
                         roleInfo.roleLv = response.FriendList[i].RoleInfo.RoleLvl;
                         roleInfo.offlineTimeSec = response.FriendList[i].RoleInfo.OfflineTimeSec;
-                        roleInfo.roleHead = response.FriendList[i].RoleInfo.HeadItemId;
-                        roleInfo.roleHeadBorder = response.FriendList[i].RoleInfo.HeadBorderItemId;
+                        roleInfo.headId = response.FriendList[i].RoleInfo.HeadItemId;
+                        roleInfo.headBorderId = response.FriendList[i].RoleInfo.HeadBorderItemId;
 
                         FriendInfoData friendInfo = new FriendInfoData();
                         friendInfo.roleInfo = roleInfo;
@@ -286,8 +286,8 @@ namespace GFGGame
                         roleInfo.roleName = response.RoleList[i].RoleName;
                         roleInfo.roleLv = response.RoleList[i].RoleLvl;
                         roleInfo.offlineTimeSec = response.RoleList[i].OfflineTimeSec;
-                        roleInfo.roleHead = response.RoleList[i].HeadItemId;
-                        roleInfo.roleHeadBorder = response.RoleList[i].HeadBorderItemId;
+                        roleInfo.headId = response.RoleList[i].HeadItemId;
+                        roleInfo.headBorderId = response.RoleList[i].HeadBorderItemId;
                         FriendDataManager.Instance.AddSearchData(roleInfo);
                     }
                     return true;
@@ -313,8 +313,8 @@ namespace GFGGame
                         roleInfo.roleName = response.RoleList[i].RoleName;
                         roleInfo.roleLv = response.RoleList[i].RoleLvl;
                         roleInfo.offlineTimeSec = response.RoleList[i].OfflineTimeSec;
-                        roleInfo.roleHead = response.RoleList[i].HeadItemId;
-                        roleInfo.roleHeadBorder = response.RoleList[i].HeadBorderItemId;
+                        roleInfo.headId = response.RoleList[i].HeadItemId;
+                        roleInfo.headBorderId = response.RoleList[i].HeadBorderItemId;
                         FriendDataManager.Instance.AddRecommendData(roleInfo);
                     }
                     return true;

+ 2 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/RoleInfoSProxy.cs

@@ -41,8 +41,8 @@ namespace GFGGame
                     roleInfoDetail.roleInfo.roleId = response.RoleInfo.RoleId;
                     roleInfoDetail.roleInfo.roleName = response.RoleInfo.RoleName;
                     roleInfoDetail.roleInfo.roleLv = response.RoleInfo.RoleLvl;
-                    roleInfoDetail.roleInfo.roleHead = response.RoleInfo.HeadItemId;
-                    roleInfoDetail.roleInfo.roleHeadBorder = response.RoleInfo.HeadBorderItemId;
+                    roleInfoDetail.roleInfo.headId = response.RoleInfo.HeadItemId;
+                    roleInfoDetail.roleInfo.headBorderId = response.RoleInfo.HeadBorderItemId;
                     roleInfoDetail.roleInfo.offlineTimeSec = response.RoleInfo.OfflineTimeSec;
 
                     roleInfoDetail.slogan = response.Signature;

+ 23 - 4
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDanUpView.cs

@@ -36,17 +36,37 @@ namespace GFGGame
         {
             base.AddEventListener();
 
+            EventAgent.AddEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
         }
         protected override void OnShown()
         {
             base.OnShown();
+            int lastGrade = (int)(this.viewData as object[])[0];
+            int curGrade = (int)(this.viewData as object[])[1];
+            int rewardId = (int)(this.viewData as object[])[2];
 
-            cfg = ArenaRankCfgArray.Instance.GetCfg(2);
+            this.clickBlankToClose = false;
 
-            _ui.m_txtDanTitle.text = cfg.gradeName;
-            _ui.m_listFirstDanReward.numItems = cfg.bonusUpgradeArr.Length;
+            _ui.m_c1.selectedIndex = rewardId > 0 ? 1 : 0;
+            if (rewardId > 0)
+            {
+                _ui.m_listFirstDanReward.numItems = cfg.bonusUpgradeArr.Length;
+            }
 
+            cfg = ArenaRankCfgArray.Instance.GetCfg(curGrade);
+            _ui.m_txtDanTitle.text = cfg.gradeName;
             ArenaViewManager.Instance.UpdateDanIcon(_ui.m_loaDanIcon, cfg.id);
+
+
+            ArenaRankCfg lastCfg = ArenaRankCfgArray.Instance.GetCfg(lastGrade);
+            _ui.m_txtlastDanTitle.text = lastCfg.gradeName;
+            ArenaViewManager.Instance.UpdateDanIcon(_ui.m_loaLastDanIcon, lastCfg.id);
+
+            _ui.m_t0.Play(() =>
+            {
+                this.clickBlankToClose = true;
+            });
+
         }
 
         protected override void OnHide()
@@ -58,7 +78,6 @@ namespace GFGGame
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
-
         }
 
 

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDressInfoView.cs

@@ -144,7 +144,7 @@ namespace GFGGame
             UI_ComValueInfo comValueInfo = UI_ComValueInfo.Proxy(_ui.m_comValueInfo.target);
             comValueInfo.m_scoreType.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + _roleDatas[_themeIndex].scoreType);
             comValueInfo.m_txtScore.text = FightDataManager.Instance.GetScore(_roleDatas[_themeIndex].itemScoreList).ToString();
-            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetArenaRoleFightScore(_roleDatas[_themeIndex]).ToString();
+            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetAllFightScore(_roleType, _roleDatas, _robotDatas).ToString();
             comValueInfo.m_txtTagScore.text = FightDataManager.Instance.GetTagsScore(_itemList, _tags).ToString();
             int count = FightDataManager.Instance.GetTagsCount(_itemList, _tags);
             comValueInfo.m_c1.selectedIndex = Math.Min(count, ArenaTagCfgArray.Instance.dataArray.Length);
@@ -159,7 +159,7 @@ namespace GFGGame
             UI_ComValueInfo comValueInfo = UI_ComValueInfo.Proxy(_ui.m_comValueInfo.target);
             comValueInfo.m_scoreType.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + _robotDatas[_themeIndex].scoreType);
             comValueInfo.m_txtScore.text = FightDataManager.Instance.GetScore(_robotDatas[_themeIndex].itemScoreList).ToString();
-            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetArenaRobotFightScore(_robotDatas[_themeIndex]).ToString();
+            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetAllFightScore(_roleType, _roleDatas, _robotDatas).ToString();
             comValueInfo.m_txtTagScore.text = FightDataManager.Instance.GetTagsScore(_itemList, _tags).ToString();
             int count = FightDataManager.Instance.GetTagsCount(_itemList, _tags);
             comValueInfo.m_c1.selectedIndex = Math.Min(count, ArenaTagCfgArray.Instance.dataArray.Length);

+ 20 - 4
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankUpView.cs

@@ -37,11 +37,16 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            int lastGrade = (int)(this.viewData as object[])[0];//胜利后排名互换,我的上个段位就是对手的当前段位
+            int lastRank = (int)(this.viewData as object[])[1];//胜利后排名互换,我的上个排名就是对手的当前排名
+            int targetHeadId = (int)(this.viewData as object[])[2];
+            string targetName = (this.viewData as object[])[3].ToString();
+            string targetHeadRes = (this.viewData as object[])[4].ToString();
 
             this.clickBlankToClose = false;
 
-            UpdateInfo(_ui.m_comMyHeadInfo.target);
-            UpdateInfo(_ui.m_comTargetHeadInfo.target);
+            UpdateInfo(_ui.m_comMyHeadInfo.target, ArenaDataManager.Instance.Grade, ArenaDataManager.Instance.Rank, RoleDataManager.roleName, RoleDataManager.headId, "");
+            UpdateInfo(_ui.m_comTargetHeadInfo.target, lastGrade, lastRank, targetName, targetHeadId, targetHeadRes);
 
             _ui.m_t0.Play(() => { this.clickBlankToClose = false; });
         }
@@ -56,10 +61,21 @@ namespace GFGGame
             base.RemoveEventListener();
         }
 
-        private void UpdateInfo(GComponent com)
+        private void UpdateInfo(GComponent com, int grade, int rank, string name, int headId, string res)
         {
             UI_ComDanSimpleInfo comDanSimpleInfo = UI_ComDanSimpleInfo.Proxy(com);
-
+            comDanSimpleInfo.m_txtName.text = name;
+            ArenaRankCfg rankCfg = ArenaRankCfgArray.Instance.GetCfg(grade);
+            comDanSimpleInfo.m_txtDanTitle.text = rankCfg.gradeName;
+            comDanSimpleInfo.m_txtRank.text = string.Format("段位排名:{0}", rank);
+            if (headId > 0)
+            {
+                RoleInfoManager.Instance.UpdateHead(comDanSimpleInfo.m_comHead, headId, 0);
+            }
+            else
+            {
+                RoleInfoManager.Instance.UpdateNpcHead(comDanSimpleInfo.m_comHead, res);
+            }
 
             UI_ComDanSimpleInfo.ProxyEnd();
         }

+ 73 - 7
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs

@@ -9,6 +9,7 @@ namespace GFGGame
     {
         private UI_ArenaRankUI _ui;
         private int _rankType = 0;
+
         public override void Dispose()
         {
             if (_ui != null)
@@ -87,7 +88,17 @@ namespace GFGGame
         }
         private void OnListScroll()
         {
-
+            int itemIndex = _ui.m_listRank.ChildIndexToItemIndex(0);
+            if (itemIndex % 20 == 0)
+            {
+                if (ArenaDataManager.Instance.rankDatasDic.ContainsKey(_rankType))
+                {
+                    if (ArenaDataManager.Instance.rankDatasDic[_rankType].Count < itemIndex)
+                    {
+                        ReqRankList(itemIndex);
+                    }
+                }
+            }
         }
         private async void ReqRankList(int index)
         {
@@ -95,6 +106,7 @@ namespace GFGGame
             if (result)
             {
                 _ui.m_listRank.RefreshVirtualList();
+                UpdateOtherItem(ArenaDataManager.Instance.SelfData, _ui.m_comMyRank.target, true);
             }
         }
 
@@ -121,25 +133,79 @@ namespace GFGGame
             }
             if (index < 3)
             {
-                UpdateTopItem(arenaData, obj);
+                UpdateTopItem(index, arenaData, obj);
             }
             else
             {
                 UpdateOtherItem(arenaData, obj);
             }
         }
-        private void UpdateTopItem(ArenaTargetData arenaData, GObject obj)
+        private void UpdateTopItem(int index, ArenaTargetData arenaData, GObject obj)
         {
             UI_ListRankItem item = UI_ListRankItem.Proxy(obj.asCom.GetChildAt(0));
-
-            item.m_c1.selectedIndex = arenaData.RankInGrade;
-
+            item.m_c1.selectedIndex = index;
+            if (arenaData == null)
+            {
+                item.m_txtName.text = "--";
+                item.m_txtFightScore.text = "竞技场战力:--";
+                item.m_txtDanRank.text = "段位排行:--";
+                item.m_loaDanIcon.url = "";
+                RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);
+                RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, "");
+            }
+            else
+            {
+                item.m_txtName.text = arenaData.RoleInfo.roleName;
+                long fightScore = ArenaDataManager.Instance.GetAllFightScore(arenaData.Type, arenaData.RoleDressupList, arenaData.RobotDressupList);
+                item.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
+                item.m_txtDanRank.text = string.Format("段位排行:{0}", arenaData.Grade);
+                ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, arenaData.Grade);
+                RoleInfoManager.Instance.UpdateLv(item.m_comLv, arenaData.RoleInfo.roleLv);
+                if (arenaData.Type == ArenaFightTargetType.PLAYER)
+                {
+                    RoleInfoManager.Instance.UpdateHead(item.m_comHead, arenaData.RoleInfo.headId, 0);
+                }
+                else
+                {
+                    RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, arenaData.RoleInfo.headRes);
+                }
+            }
             UI_ListRankItem.ProxyEnd();
         }
 
-        private void UpdateOtherItem(ArenaTargetData arenaData, GObject obj)
+        private void UpdateOtherItem(ArenaTargetData arenaData, GObject obj, bool isSelf = false)
         {
+            UI_ListRankItem3 item = UI_ListRankItem3.Proxy(obj);
 
+            if (arenaData == null)
+            {
+                item.m_txtRank.text = "--";
+                item.m_txtName.text = "--";
+                item.m_txtFightScore.text = "竞技场战力:--";
+                item.m_txtDanRank.text = "段位排行:--";
+                item.m_loaDanIcon.url = "";
+                RoleInfoManager.Instance.UpdateLv(item.m_comLv, 0);
+                RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, "");
+            }
+            else
+            {
+                item.m_txtRank.text = arenaData.RankInGrade.ToString();
+                item.m_txtName.text = arenaData.RoleInfo.roleName;
+                long fightScore = ArenaDataManager.Instance.GetAllFightScore(arenaData.Type, arenaData.RoleDressupList, arenaData.RobotDressupList);
+                item.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
+                item.m_txtDanRank.text = string.Format("段位排行:{0}", arenaData.Grade);
+                ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, arenaData.Grade);
+                RoleInfoManager.Instance.UpdateLv(item.m_comLv, arenaData.RoleInfo.roleLv);
+                if (arenaData.Type == ArenaFightTargetType.PLAYER)
+                {
+                    RoleInfoManager.Instance.UpdateHead(item.m_comHead, arenaData.RoleInfo.headId, 0);
+                }
+                else
+                {
+                    RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, arenaData.RoleInfo.headRes);
+                }
+            }
+            UI_ListRankItem3.ProxyEnd();
         }
     }
 }

+ 32 - 2
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaResultQuickView.cs

@@ -9,6 +9,8 @@ namespace GFGGame
     {
         private UI_ArenaResultQuickUI _ui;
 
+        private int _winCount = 0;
+        private ArenaTargetData _targetData;
         public override void Dispose()
         {
             if (_ui != null)
@@ -28,6 +30,7 @@ namespace GFGGame
             isfullScreen = true;
 
             // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
+            _ui.m_list.itemRenderer = RenderListItem;
         }
         protected override void AddEventListener()
         {
@@ -37,13 +40,28 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-
+            _winCount = 0;
+            _targetData = ArenaDataManager.Instance.Targets[ArenaDataManager.Instance.SelectTargetIndex];
+            _ui.m_txtTargetName.text = _targetData.RoleInfo.roleName;
+            _ui.m_txtTargetRank.text = _targetData.RankInGrade.ToString();
+            ArenaRankCfg rankCfg = ArenaRankCfgArray.Instance.GetCfg(_targetData.Grade);
+            _ui.m_txtDantitle.text = rankCfg.gradeName;
+            if (_targetData.Type == ArenaFightTargetType.PLAYER)
+            {
+                RoleInfoManager.Instance.UpdateHead(_ui.m_comTargetHead, _targetData.RoleInfo.headId, 0);
+            }
+            else
+            {
+                RoleInfoManager.Instance.UpdateNpcHead(_ui.m_comTargetHead, _targetData.RoleInfo.headRes);
+            }
+            _ui.m_list.numItems = ArenaDataManager.Instance.myScore.Count;
+            ArenaViewManager.Instance.UpdateFightScoreResult(_ui.m_comResult.target, ArenaDataManager.Instance.myScore, ArenaDataManager.Instance.targetScore);
         }
 
         protected override void OnHide()
         {
             base.OnHide();
-
+            FinishFight();
         }
 
         protected override void RemoveEventListener()
@@ -51,5 +69,17 @@ namespace GFGGame
             base.RemoveEventListener();
 
         }
+        private void RenderListItem(int index, GObject obj)
+        {
+            ArenaViewManager.Instance.UpdateFightRoundResult(obj, index, out bool isWin);
+            if (isWin) _winCount++;
+        }
+
+        private void FinishFight()
+        {
+            ArenaDataManager dataManager = ArenaDataManager.Instance;
+            ArenaTargetData targetData = dataManager.Targets[dataManager.SelectTargetIndex];
+            ArenaSproxy.ReqArenaFight(_winCount >= 2, targetData, dataManager.myFightScore, dataManager.targetFightScore, dataManager.myScore, dataManager.targetScore).Coroutine();
+        }
     }
 }

+ 54 - 2
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaResultView.cs

@@ -1,3 +1,4 @@
+using System.Threading.Tasks;
 using ET;
 using FairyGUI;
 using UI.Arena;
@@ -9,6 +10,8 @@ namespace GFGGame
     {
         private UI_ArenaResultUI _ui;
 
+        private int winCount = 0;
+        private bool isFinallyFight = false;//是否最后一场战斗
         public override void Dispose()
         {
             if (_ui != null)
@@ -25,9 +28,11 @@ namespace GFGGame
             packageName = UI_ArenaUI.PACKAGE_NAME;
             _ui = UI_ArenaResultUI.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_list.itemRenderer = RenderListItem;
         }
         protected override void AddEventListener()
         {
@@ -37,13 +42,34 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            ViewManager.SetMaskAlpha(0);
+            winCount = 0;
+            _ui.m_list.numItems = ArenaDataManager.Instance.CurFightIndex + 1;
+
+            isFinallyFight = _ui.m_list.numItems == 3;
+            _ui.m_ComResult.target.visible = isFinallyFight;
+            this.clickBlankToClose = isFinallyFight;
+
+            if (isFinallyFight)
+            {
+                ArenaViewManager.Instance.UpdateFightResult(_ui.m_ComResult.target, ArenaDataManager.Instance.myScore, ArenaDataManager.Instance.targetScore);
+            }
+            else
+            {
+                Timers.inst.Add(1, 1, StartNextRound);
+            }
 
         }
 
         protected override void OnHide()
         {
             base.OnHide();
+            ViewManager.SetMaskAlpha(0.6f);
 
+            if (isFinallyFight)
+            {
+                FinishFightAsync();
+            }
         }
 
         protected override void RemoveEventListener()
@@ -51,5 +77,31 @@ namespace GFGGame
             base.RemoveEventListener();
 
         }
+        private void RenderListItem(int index, GObject obj)
+        {
+            ArenaViewManager.Instance.UpdateFightRoundResult(obj, index, out bool isWin);
+            if (isWin) winCount++;
+        }
+
+        private void StartNextRound(object param)
+        {
+            ArenaDataManager dataManager = ArenaDataManager.Instance;
+            dataManager.CurFightIndex++;
+            ArenaTargetData targetData = dataManager.Targets[dataManager.SelectTargetIndex];
+            if (targetData.Type == ArenaFightTargetType.PLAYER)
+            {
+                ViewManager.Show<StoryFightTargetScoreView>(new object[] { targetData.Type, FightDataManager.Instance.roleData, targetData.RoleDressupList[dataManager.CurFightIndex], null }, null, true);
+            }
+            else
+            {
+                ViewManager.Show<StoryFightTargetScoreView>(new object[] { targetData.Type, FightDataManager.Instance.roleData, null, targetData.RobotDressupList[dataManager.CurFightIndex] }, null, true);
+            }
+        }
+        private void FinishFightAsync()
+        {
+            ArenaDataManager dataManager = ArenaDataManager.Instance;
+            ArenaTargetData targetData = dataManager.Targets[dataManager.SelectTargetIndex];
+            ArenaSproxy.ReqArenaFight(winCount >= 2, targetData, dataManager.myFightScore, dataManager.targetFightScore, dataManager.myScore, dataManager.targetScore).Coroutine();
+        }
     }
 }

+ 39 - 30
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs

@@ -69,7 +69,7 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
-
+            EventAgent.AddEventListener(ConstMessage.ARENA_FIGHT_RESULT, UpdateView);
         }
         protected override async void OnShown()
         {
@@ -84,13 +84,20 @@ namespace GFGGame
                 ArenaTargetData targetData = ArenaDataManager.Instance.Targets[i];
                 if (targetData.Type == ArenaFightTargetType.PLAYER)
                 {
-
                     await ArenaSproxy.ReqArenaFightAttr(targetData.RoleInfo.roleId, targetData.RoleDressupList);
                 }
             }
 
+            InstanceZonesDataManager.FightScene = ConstInstanceZonesType.Arena;
             if (_targetData == null)
             {
+                ArenaDataManager.Instance.SelectTargetIndex = -1;
+                ArenaDataManager.Instance.CurFightIndex = 0;
+                ArenaDataManager.Instance.myScore.Clear();
+                ArenaDataManager.Instance.targetScore.Clear();
+                ArenaDataManager.Instance.myFightScore.Clear();
+                ArenaDataManager.Instance.targetFightScore.Clear();
+
                 UpdateTargetList();
             }
             else
@@ -111,7 +118,7 @@ namespace GFGGame
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
-
+            EventAgent.RemoveEventListener(ConstMessage.ARENA_FIGHT_RESULT, UpdateView);
         }
         private void OnBtnBackClick()
         {
@@ -171,16 +178,18 @@ namespace GFGGame
             _ui.m_c1.selectedIndex = 0;
         }
 
-        private async void OnBtnFightClick()
+        private void OnBtnFightClick()
         {
-            InstanceZonesDataManager.FightScene = ConstInstanceZonesType.Arena;
-            ArenaDataManager.Instance.CurFightIndex = 0;
+
+            List<long> selfFightPower = ArenaDataManager.Instance.GetFightScoreList(ArenaFightTargetType.PLAYER, ArenaDataManager.Instance.DressupList, null);
+            List<long> targetFightPower = ArenaDataManager.Instance.GetFightScoreList(_targetData.Type, _targetData.RoleDressupList, _targetData.RobotDressupList);
+
             if (_ui.m_btnQuickFight.selected)
             {
-                int winCount = 0;
+                // int winCount = 0;
 
-                List<int> myScores = new List<int>();
-                List<int> targetScores = new List<int>();
+                List<long> myScores = new List<long>();
+                List<long> targetScores = new List<long>();
                 for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
                 {
                     int score = 0;
@@ -196,21 +205,24 @@ namespace GFGGame
                     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();
+                // bool isWin = winCount >= 2;
+
+                ViewManager.Show<ArenaResultQuickView>();
+                // await ArenaSproxy.ReqArenaFight(isWin, _targetData, selfFightPower, targetFightPower, myScores, targetScores);
             }
             else
             {
+                ArenaDataManager.Instance.myFightScore = selfFightPower;
+                ArenaDataManager.Instance.targetFightScore = targetFightPower;
                 ViewManager.Show<StoryFightTargetView>();
             }
         }
+        private void UpdateView()
+        {
+            UpdateNormal();
+            UpdateValue();
+            UpdateTargetList();
+        }
         private void UpdateNormal()
         {
             ItemUtil.UpdateTag(_ui.m_comTag, ArenaDataManager.Instance.Tag);
@@ -223,11 +235,7 @@ namespace GFGGame
             _ui.m_txtName.text = RoleDataManager.roleName;
             _ui.m_txtRank.text = string.Format("段位排名:{0}", ArenaDataManager.Instance.Rank);
             _ui.m_txtDanTitle.text = ArenaRankCfgArray.Instance.GetCfg(ArenaDataManager.Instance.Grade).gradeName;
-            int fightScore = 0;
-            for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
-            {
-                fightScore += ArenaDataManager.Instance.GetArenaRoleFightScore(FightDataManager.Instance.roleData);
-            }
+            long fightScore = ArenaDataManager.Instance.GetAllFightScore(ArenaFightTargetType.PLAYER, ArenaDataManager.Instance.DressupList, null);
             _ui.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
             _ui.m_btnQuickFight.selected = ArenaDataManager.Instance.QuickFight;
 
@@ -293,20 +301,18 @@ namespace GFGGame
 
             if (targetData.Type == ArenaFightTargetType.PLAYER)
             {
-                RoleInfoManager.Instance.UpdateHead(item.m_comHead, targetData.RoleInfo.roleHead, 0);
+                RoleInfoManager.Instance.UpdateHead(item.m_comHead, targetData.RoleInfo.headId, 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();
+                RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, targetData.RoleInfo.headRes);
             }
 
             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);
+            long 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);
 
@@ -314,7 +320,7 @@ namespace GFGGame
             {
                 item.m_loaBg.onClick.Add(OnSelectRoleClick);
             }
-            item.m_loaBg.data = targetData;
+            item.m_loaBg.data = index;
             if (item.m_btnLook.data == null)
             {
                 item.m_btnLook.onClick.Add(OnBtnLookClick);
@@ -325,7 +331,10 @@ namespace GFGGame
 
         private void OnSelectRoleClick(EventContext context)
         {
-            _targetData = (context.sender as GObject).data as ArenaTargetData;
+            int index = (int)(context.sender as GObject).data;
+            _targetData = ArenaDataManager.Instance.Targets[index];
+            ArenaDataManager.Instance.SelectTargetIndex = index;
+
             _ui.m_c1.selectedIndex = 1;
             UpdateRole();
         }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Common/Controller/ValueBarController.cs

@@ -152,7 +152,7 @@ namespace GFGGame
         {
             _valueBar.m_btnArena.GetChild("n3").asImage.visible = false;
             _valueBar.m_btnArena.text = "" + ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]);
-            _valueBar.m_btnGallery.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]).res);
+            // _valueBar.m_btnArena.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]).res);
         }
     }
 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/DressUp/ArenaDressUpFightView.cs

@@ -189,7 +189,7 @@ namespace GFGGame
             UI_ComValueInfo comValueInfo = UI_ComValueInfo.Proxy(_ui.m_comValueInfo);
             comValueInfo.m_scoreType.url = "ui://CommonGame/kp_sx_" + InstanceZonesDataManager.currentScoreType;
             comValueInfo.m_txtScore.text = FightDataManager.Instance.GetScore(_roleData.itemScoreList).ToString();
-            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetArenaRoleFightScore(_roleData).ToString();
+            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetAllFightScore(ArenaFightTargetType.PLAYER, _dataManager.DressupList, null).ToString();
             comValueInfo.m_txtTagScore.text = FightDataManager.Instance.GetTagsScore(_roleData.itemList, _roleData.tags).ToString();
             int count = FightDataManager.Instance.GetTagsCount(_roleData.itemList, _roleData.tags);
             comValueInfo.m_c1.selectedIndex = Math.Min(count, ArenaTagCfgArray.Instance.dataArray.Length);

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/Friend/FriendAddView.cs

@@ -85,7 +85,7 @@ namespace GFGGame
             OtherRoleInfoData roleInfoData = _searchDatas[index];
 
             UI_ListSearchItem item = UI_ListSearchItem.Proxy(obj);
-            RoleInfoManager.Instance.UpdateHead(item.m_comHead, roleInfoData.roleHead, roleInfoData.roleHeadBorder);
+            RoleInfoManager.Instance.UpdateHead(item.m_comHead, roleInfoData.headId, roleInfoData.headBorderId);
             item.m_txtName.text = roleInfoData.roleName;
             item.m_txtLvl.text = roleInfoData.roleLv.ToString();
             item.m_c1.selectedIndex = 0;
@@ -171,7 +171,7 @@ namespace GFGGame
         {
             FriendInfoData data = FriendDataManager.Instance.ApplyDatas[index];
             UI_ListApplyItem item = UI_ListApplyItem.Proxy(obj);
-            RoleInfoManager.Instance.UpdateHead(item.m_comHead, data.roleInfo.roleHead, data.roleInfo.roleHeadBorder);
+            RoleInfoManager.Instance.UpdateHead(item.m_comHead, data.roleInfo.headId, data.roleInfo.headBorderId);
             item.m_txtName.text = data.roleInfo.roleName;
             item.m_txtLvl.text = data.roleInfo.roleLv.ToString();
             if (item.m_btnAgree.data == null)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Friend/FriendView.cs

@@ -146,7 +146,7 @@ namespace GFGGame
 
             UI_ListItem item = UI_ListItem.Proxy(obj);
 
-            RoleInfoManager.Instance.UpdateHead(item.m_comHead, friendInfo.roleInfo.roleHead, friendInfo.roleInfo.roleHeadBorder);
+            RoleInfoManager.Instance.UpdateHead(item.m_comHead, friendInfo.roleInfo.headId, friendInfo.roleInfo.headBorderId);
             item.m_txtName.text = friendInfo.roleInfo.roleName;
             item.m_txtLvl.text = friendInfo.roleInfo.roleLv.ToString();
             item.m_c2.selectedIndex = friendInfo.roleInfo.offlineTimeSec == 0 ? 0 : 1;

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

@@ -29,8 +29,8 @@ namespace GFGGame
         private bool _isAutoPlay = false;
         // private float _speed = 1;
         private int _partId;//当前评分part
-        private double _score;//当前总分数
-        private double _targetScore;
+        private float _score;//当前总分数
+        private float _targetScore;
         private double _mainScore;//总主属性分
         private double _targetMainScore;//战斗目标总主属性分
         private int _skillScore = 0;//当前卡牌技能分
@@ -105,6 +105,8 @@ namespace GFGGame
 
             targetType = (int)(this.viewData as object[])[0];
             roleData = (this.viewData as object[])[1] as FightRoleData;
+            targetRoleData = (this.viewData as object[])[2] as FightRoleData;
+            targetRobotData = (this.viewData as object[])[3] as FightRobotData;
 
             _nTexture = new NTexture(FightDataManager.Instance.RoleTextuex);
             _ui.m_imgRole.SetSize(GRoot.inst.width, GRoot.inst.height);
@@ -125,20 +127,15 @@ namespace GFGGame
 
             if (targetType == ArenaFightTargetType.PLAYER)
             {
-                targetRoleData = (this.viewData as object[])[2] as FightRoleData;
                 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);
                 _targetRoundTimes = ScoreSystemData.Instance.GetRoundTime(targetRoleData.cardId, targetRoleData.skillLvs);
-
             }
             else if (targetType == ArenaFightTargetType.ROBOT)
             {
-                targetRobotData = (this.viewData as object[])[2] as FightRobotData;
-                UI_ComHead comTargetHead = UI_ComHead.Proxy(_ui.m_targetHead);
-                comTargetHead.m_comHead.m_loaIcon.url = ResPathUtil.GetNpcHeadPath(targetRobotData.res);
-                UI_ComHead.ProxyEnd();
+                RoleInfoManager.Instance.UpdateNpcHead(_ui.m_targetHead, targetRobotData.res);
                 _ui.m_proScore.m_txtNpcScore.text = targetRobotData.name + " 0";
                 _targetMainScore = ScoreSystemData.Instance.GetRobotMainScore(targetRobotData);
                 _targetRoundTimes = ScoreSystemData.Instance.GetRoundTime(targetRobotData.cardId, targetRobotData.skillLvs);
@@ -563,9 +560,16 @@ namespace GFGGame
 
         private async void Skip(object param = null)
         {
-            FightDataManager.Instance.totalScore = (int)Math.Round(_score);
-            FightDataManager.Instance.npcTotalScore = (int)Math.Round(_targetScore);
-            await InstanceZonesController.CheckStoryFightResult();
+            if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
+            {
+                ViewManager.Show<ArenaFightResultView>(new object[] { _score, _targetScore });
+            }
+            else
+            {
+                FightDataManager.Instance.totalScore = (int)Math.Round(_score);
+                FightDataManager.Instance.npcTotalScore = (int)Math.Round(_targetScore);
+                await InstanceZonesController.CheckStoryFightResult();
+            }
             Reset();
         }
         private void Reset()

+ 16 - 19
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs

@@ -61,7 +61,9 @@ namespace GFGGame
 
             FightRoleData roleData = FightDataManager.Instance.roleData;
 
-            object targetData;
+            // object targetData;
+            FightRoleData targetRoleData = null;
+            FightRobotData targetRobotData = null;
             int fightType;
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
             {
@@ -69,21 +71,25 @@ namespace GFGGame
                 if (arenaTarget.Type == ArenaFightTargetType.ROBOT)
                 {
                     fightType = ArenaFightTargetType.ROBOT;
-                    targetData = ArenaDataManager.Instance.GetArenaRobotData(0, arenaTarget);
+                    targetRobotData = ArenaDataManager.Instance.GetArenaRobotData(0, arenaTarget);
+                    _ui.m_targetName.m_txtName.text = targetRobotData.name;
+                    SceneController.UpdateFightTarget(targetRobotData.res, _sceneObject);
                 }
                 else
                 {
                     fightType = ArenaFightTargetType.PLAYER;
-                    targetData = ArenaDataManager.Instance.GetArenaRoleData(0, arenaTarget);
+                    targetRoleData = ArenaDataManager.Instance.GetArenaRoleData(0, arenaTarget);
                     DressUpObj dressUpObj = new DressUpObj();
                     if (_sceneTargetObject == null)
                     {
                         _sceneTargetObject = GameObject.Instantiate(_sceneTargetPrefab);
                     }
+
                     dressUpObj.setSceneObj(_sceneTargetPrefab, true);
                     dressUpObj.UpdateRoleView();
                     _sceneTargetObject.transform.SetParent(_sceneObject.transform);
                     _sceneTargetObject.transform.SetSiblingIndex(2);
+                    _ui.m_targetName.m_txtName.text = targetRoleData.name;
 
                 }
                 string musicName = "fight";
@@ -95,32 +101,23 @@ namespace GFGGame
             else
             {
                 fightType = ArenaFightTargetType.ROBOT;
-                targetData = FightDataManager.Instance.GetFightRobotData();
-
+                targetRobotData = FightDataManager.Instance.GetFightRobotData();
                 StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
                 StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
                 if (!string.IsNullOrEmpty(fightCfg.music))
                 {
                     MusicManager.Instance.Play(ResPathUtil.GetMusicPath(fightCfg.music, "mp3"));
                 }
+                SceneController.UpdateFightTarget(targetRobotData.res, _sceneObject);
+                _ui.m_targetName.m_txtName.text = targetRobotData.name;
             }
 
             _ui.m_roleName.m_txtName.text = RoleDataManager.roleName;
-            _ui.m_targetName.m_txtName.text = targetData.GetType().GetField("name").GetValue(targetData).ToString();
-            if (fightType == ArenaFightTargetType.ROBOT)
-            {
-                string res = targetData.GetType().GetField("res").GetValue(targetData).ToString();
-                SceneController.UpdateFightTarget(res, _sceneObject);
-            }
-            else
-            {
-
-            }
 
             Timers.inst.Add(1.1f, 1, (object param) =>
             {
                 this.Hide();
-                ViewManager.Show<StoryFightTargetScoreView>(new object[] { fightType, roleData, targetData });
+                ViewManager.Show<StoryFightTargetScoreView>(new object[] { fightType, roleData, targetRoleData, targetRobotData });
             });
         }
 
@@ -132,10 +129,10 @@ namespace GFGGame
                 GameObject.Destroy(_sceneObject);
                 _sceneObject = null;
             }
-            if (_sceneTargetPrefab != null)
+            if (_sceneTargetObject != null)
             {
-                GameObject.Destroy(_sceneTargetPrefab);
-                _sceneTargetPrefab = null;
+                GameObject.Destroy(_sceneTargetObject);
+                _sceneTargetObject = null;
             }
         }
 

+ 3 - 28
GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs

@@ -7,14 +7,6 @@ using ET;
 
 namespace GFGGame
 {
-    public struct StoryFightResultData
-    {
-        public bool Result;
-        public int Score;
-        public int Star;
-        public bool FirstPass;
-        public List<ItemData> BonusList;
-    }
 
     public class StroyFightResultView : BaseView
     {
@@ -83,16 +75,10 @@ namespace GFGGame
             {
                 _ui.m_comExpBar.target.visible = true;
                 _ui.m_btnClose.enabled = false;
-                if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
-                {
 
-                }
-                else
-                {
-                    StoryLevelCfg _levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-                    StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
-                    _ui.m_comExpBar.m_txtLvlAdded.text = string.Format("经验值:+{0}", fightCfg.exp);
-                }
+                StoryLevelCfg _levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
+                _ui.m_comExpBar.m_txtLvlAdded.text = string.Format("经验值:+{0}", fightCfg.exp);
             }
 
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Field)
@@ -163,17 +149,6 @@ namespace GFGGame
                     ViewManager.Show<FieldFightInfoView>();
                 }
             }
-            else if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
-            {
-                if (ArenaDataManager.Instance.CurFightIndex < ArenaDataManager.Instance.ThemeList.Count)
-                {
-                    ArenaDataManager.Instance.CurFightIndex++;
-                }
-                else
-                {
-
-                }
-            }
             else
             {
                 InstanceZonesController.OnFinishStoryLevel(InstanceZonesDataManager.currentLevelCfgId, _resultData.FirstPass, true);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemGalleryPreviewView.cs

@@ -72,7 +72,7 @@ namespace GFGGame
             {
                 _ui.m_txtLvl.text = roleInfo.roleInfo.roleLv.ToString();
 
-                RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, roleInfo.roleInfo.roleHead, roleInfo.roleInfo.roleHeadBorder);
+                RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, roleInfo.roleInfo.headId, roleInfo.roleInfo.headBorderId);
             }
         }
 

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

@@ -50,7 +50,7 @@ namespace GFGGame
 
             _ui.m_txtRoleName.text = _roleInfo.roleName;
             _ui.m_txtLvl.text = _roleInfo.roleLv.ToString();
-            RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, _roleInfo.roleHead, _roleInfo.roleHeadBorder);
+            RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, _roleInfo.headId, _roleInfo.headBorderId);
 
             _roleDetailInfo = await RoleInfoSProxy.ReqOtherRoleDetailInfo(_roleInfo.roleId);
             if (_roleDetailInfo != null)

+ 495 - 22
GameClient/Assets/ResIn/Prefab/SceneFightTarget.prefab

@@ -1,59 +1,532 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
---- !u!1001 &1102937157649842499
+--- !u!1 &858278116349665122
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8815338108581059719}
+  - component: {fileID: 1936639068158916233}
+  m_Layer: 0
+  m_Name: Bg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &8815338108581059719
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 858278116349665122}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 8934048990737965464}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &1936639068158916233
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 858278116349665122}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: -999
+  m_Sprite: {fileID: 21300000, guid: d5e3578f9df618f42a579b7e10d9feec, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 10.8046875, y: 24}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!1 &2168945756327601515
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1185925457834203870}
+  - component: {fileID: 9161226812778529165}
+  m_Layer: 0
+  m_Name: Line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1185925457834203870
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2168945756327601515}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.02, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 8934048990737965464}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &9161226812778529165
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2168945756327601515}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 1628392575
+  m_SortingLayer: 1
+  m_SortingOrder: 9999
+  m_Sprite: {fileID: 21300000, guid: 96bf5742305636a40a8a77df61630508, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 3.4335938, y: 24}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!1 &3637365221826474441
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3800048586795993966}
+  - component: {fileID: 507977126574659152}
+  m_Layer: 0
+  m_Name: MaskRole
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3800048586795993966
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3637365221826474441}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -5.4, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 8934048990737965464}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!331 &507977126574659152
+SpriteMask:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3637365221826474441}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10758, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: d54fd5ac44f2b4f4bb2cb4c7033d0ddd, type: 3}
+  m_MaskAlphaCutoff: 0.2
+  m_FrontSortingLayerID: 0
+  m_BackSortingLayerID: 0
+  m_FrontSortingLayer: 0
+  m_BackSortingLayer: 0
+  m_FrontSortingOrder: 9999
+  m_BackSortingOrder: -998
+  m_IsCustomRangeActive: 1
+  m_SpriteSortPoint: 0
+--- !u!1 &4634620716655583886
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5887010865235330484}
+  - component: {fileID: 4105743218907232887}
+  m_Layer: 0
+  m_Name: MaskNpc
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &5887010865235330484
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4634620716655583886}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 5.4, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 8934048990737965464}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!331 &4105743218907232887
+SpriteMask:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4634620716655583886}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10758, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: 8c9de3878d54f0e439f1c5fc0495459e, type: 3}
+  m_MaskAlphaCutoff: 0.2
+  m_FrontSortingLayerID: 1628392575
+  m_BackSortingLayerID: 1628392575
+  m_FrontSortingLayer: 1
+  m_BackSortingLayer: 1
+  m_FrontSortingOrder: 1
+  m_BackSortingOrder: -1
+  m_IsCustomRangeActive: 1
+  m_SpriteSortPoint: 0
+--- !u!1 &5013777570792012677
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7704243746175773496}
+  - component: {fileID: 2918547737979533810}
+  m_Layer: 0
+  m_Name: Npc
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7704243746175773496
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5013777570792012677}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 3, y: -13.3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 8934048990737965464}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &2918547737979533810
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5013777570792012677}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 1628392575
+  m_SortingLayer: 1
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: 6475c763f349e4f4dadd9b3b01416127, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 7.74, y: 21.305807}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 0
+  m_MaskInteraction: 1
+  m_SpriteSortPoint: 0
+--- !u!1 &8934048990737965465
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8934048990737965464}
+  m_Layer: 0
+  m_Name: SceneFightTarget
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &8934048990737965464
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8934048990737965465}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 8815338108581059719}
+  - {fileID: 8934048988926551774}
+  - {fileID: 3800048586795993966}
+  - {fileID: 5887010865235330484}
+  - {fileID: 1185925457834203870}
+  - {fileID: 7704243746175773496}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &905284814300497488
 PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 0}
+    m_TransformParent: {fileID: 8934048990737965464}
     m_Modifications:
-    - target: {fileID: 8408912890099392730, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 6890174107261882195, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_Name
-      value: SceneFightTarget
+      value: faxing
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8075054435002964044, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_Name
+      value: lianyiqun
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_RootOrder
-      value: 0
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalScale.x
+      value: 1.5
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalScale.y
+      value: 1.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalScale.z
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalPosition.x
-      value: 0
+      value: -2.25
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalPosition.y
-      value: 0
+      value: -2.03
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalPosition.z
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalRotation.w
       value: 1
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalRotation.x
-      value: 0
+      value: -0
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalRotation.y
-      value: 0
+      value: -0
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalRotation.z
-      value: 0
+      value: -0
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalEulerAnglesHint.x
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalEulerAnglesHint.y
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 8408912890099392731, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
       propertyPath: m_LocalEulerAnglesHint.z
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227663, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_Name
+      value: Role
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645814931756, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_MaskInteraction
+      value: 1
+      objectReference: {fileID: 0}
     m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: 7d30f624c2bbbc742aa4d7c04d29625d, type: 3}
+  m_SourcePrefab: {fileID: 100100000, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+--- !u!4 &8934048988926551774 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+  m_PrefabInstance: {fileID: 905284814300497488}
+  m_PrefabAsset: {fileID: 0}

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_2!a.png


BIN
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_2.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_fui.bytes


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_5!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_5.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_6!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_6.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_7!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_7.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_8!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_8.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes