zhaoyang 2 ani în urmă
părinte
comite
00a72a0462
27 a modificat fișierele cu 464 adăugiri și 109 ștergeri
  1. 2 2
      FGUIProject/assets/Arena/ArenaDanUpUI.xml
  2. 7 6
      FGUIProject/assets/Arena/ArenaRankUI.xml
  3. 1 1
      FGUIProject/assets/Arena/ArenaRankUpUI.xml
  4. 4 2
      FGUIProject/assets/Arena/components/BtnTab1.xml
  5. 3 1
      FGUIProject/assets/Arena/components/BtnTab2.xml
  6. 11 11
      FGUIProject/assets/Arena/components/ListRankItem3.xml
  7. 11 11
      FGUIProject/assets/Arena/components/ListRankItem4.xml
  8. 2 0
      FGUIProject/assets/Arena/package.xml
  9. 14 2
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  10. 8 3
      GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs
  11. 8 1
      GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs
  12. 2 1
      GameClient/Assets/Game/HotUpdate/Data/VO/ArenaData.cs
  13. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaRankUI.cs
  14. 12 12
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem3.cs
  15. 12 12
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ListRankItem4.cs
  16. 33 6
      GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs
  17. 4 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaFightRecordView.cs
  18. 3 3
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankUpView.cs
  19. 79 9
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs
  20. 2 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaResultQuickView.cs
  21. 2 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRoundResultView.cs
  22. 31 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs
  23. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/ArenaFightResultView.cs
  24. 3 9
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  25. 7 8
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs
  26. 199 0
      GameClient/Assets/ResIn/Prefab/SceneArena.prefab
  27. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes

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

@@ -1,6 +1,6 @@
 <?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="1">
+<component size="1080,950" opaque="false" designImage="ui://4lc5fhlbpsphg" designImageOffsetX="-19" designImageAlpha="0">
+  <controller name="c1" pages="0,,1," selected="0">
     <remark page="0" value="非首次段位提升"/>
     <remark page="1" value="首次段位提升"/>
   </controller>

+ 7 - 6
FGUIProject/assets/Arena/ArenaRankUI.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="978,1200" designImage="ui://4lc5fhlbpsphe" designImageOffsetX="-379" designImageAlpha="0">
-  <controller name="c1" pages="0,,1," selected="0">
+  <controller name="c1" pages="0,,1," selected="1">
     <remark page="0" value="本服排行"/>
     <remark page="1" value="好友排行"/>
   </controller>
@@ -11,23 +11,23 @@
   <displayList>
     <image id="n27_jcej" name="n27" src="jcej27" fileName="images/kstzjj_di.png" xy="0,0"/>
     <component id="n11_psph" name="btn0" src="psphs" fileName="components/BtnTab1.xml" xy="21,21" group="n13_psph">
-      <Button checked="true" title="本服排行" icon="ui://4lc5fhlbjcej4c" selectedIcon="ui://4lc5fhlbjcej49" controller="c1" page="0"/>
+      <Button title="本服排行" icon="ui://4lc5fhlbjcej4c" selectedIcon="ui://4lc5fhlbjcej49" controller="c1" page="0"/>
     </component>
-    <component id="n12_psph" name="btn1" src="psphs" fileName="components/BtnTab1.xml" xy="476,21" group="n13_psph">
-      <Button title="好友排行" icon="ui://4lc5fhlbjcej4b" selectedIcon="ui://4lc5fhlbjcej4a" controller="c1" page="1"/>
+    <component id="n12_psph" name="btn1" src="u10a51" fileName="components/BtnTab11.xml" xy="476,21" group="n13_psph">
+      <Button checked="true" title="好友排行" icon="ui://4lc5fhlbjcej4b" selectedIcon="ui://4lc5fhlbjcej4a" controller="c1" page="1"/>
     </component>
     <group id="n13_psph" name="n13" xy="21,21" size="910,96" advanced="true" layout="hz" excludeInvisibles="true"/>
     <image id="n14_psph" name="n14" src="jcej41" fileName="images/phbphb_btdidi_1.png" xy="181,163" size="585,76" group="n17_psph"/>
     <component id="n15_psph" name="btn00" src="psph11" fileName="components/BtnTab2.xml" xy="179,160" group="n17_psph">
       <Button icon="ui://4lc5fhlbjcej4g" selectedIcon="ui://4lc5fhlbjcej4i" controller="c2" page="0"/>
     </component>
-    <component id="n16_psph" name="btn01" src="psph11" fileName="components/BtnTab2.xml" xy="472,160" group="n17_psph">
+    <component id="n16_psph" name="btn01" src="u10a52" fileName="components/BtnTab22.xml" xy="472,160" group="n17_psph">
       <Button checked="true" icon="ui://4lc5fhlbjcej4h" selectedIcon="ui://4lc5fhlbjcej4j" controller="c2" page="1"/>
     </component>
     <group id="n17_psph" name="n17" xy="179,160" size="589,83" advanced="true">
       <gearDisplay controller="c1" pages="0"/>
     </group>
-    <list id="n25_psph" name="listRank" xy="30,291" size="888,710" overflow="scroll" lineGap="30" defaultItem="ui://4lc5fhlbpsphy" autoClearItems="true" foldInvisibleItems="true">
+    <list id="n25_psph" name="listRank" xy="30,160" size="888,841" overflow="scroll" lineGap="30" defaultItem="ui://4lc5fhlbpsphy" autoClearItems="true" foldInvisibleItems="true">
       <gearSize controller="c1" pages="0,1" values="888,710,1,1|888,841,1,1"/>
       <relation target="" sidePair="bottom-bottom"/>
       <item/>
@@ -35,5 +35,6 @@
       <item/>
     </list>
     <component id="n24_psph" name="comMyRank" src="jcej4k" fileName="components/ListRankItem4.xml" xy="17,1002"/>
+    <text id="n28_u10a" name="txtTips" xy="408,573" size="161,54" fontSize="40" color="#736b64" text="暂无记录"/>
   </displayList>
 </component>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="1080,1090" designImage="ui://4lc5fhlbpsphd" designImageOffsetX="3" designImageAlpha="0">
+<component size="1080,1090" opaque="false" designImage="ui://4lc5fhlbpsphd" designImageOffsetX="3" designImageAlpha="0">
   <displayList>
     <image id="n10_jcej" name="n10" src="jcej1p" fileName="images/pmts_ditu.png" xy="0,74"/>
     <component id="n9_psph" name="comTargetHeadInfo" src="psphr" fileName="components/ComDanSimpleInfo.xml" xy="407,223" controller="c1,1"/>

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

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="455,96" extention="Button">
-  <controller name="button" pages="0,down,1,up" selected="1"/>
+  <controller name="button" pages="0,down,1,up" selected="0"/>
   <displayList>
     <image id="n7_jcej" name="n7" src="jcej47" fileName="images/phbphb_zidi_1.png" xy="0,0">
       <gearDisplay controller="button" pages="0"/>
@@ -8,7 +8,9 @@
     <image id="n8_jcej" name="n8" src="jcej48" fileName="images/phbphb_zidi_2.png" xy="0,0">
       <gearDisplay controller="button" pages="1"/>
     </image>
-    <loader id="n4_psph" name="icon" xy="227,48" pivot="0.5,0.5" anchor="true" size="455,96" url="ui://4lc5fhlbjcej48" autoSize="true"/>
+    <loader id="n4_psph" name="icon" xy="227,48" pivot="0.5,0.5" anchor="true" size="167,42" url="ui://4lc5fhlbjcej49" autoSize="true">
+      <gearIcon controller="button" pages="0,1" values="ui://4lc5fhlbjcej49|ui://4lc5fhlbjcej4c"/>
+    </loader>
   </displayList>
   <Button mode="Radio"/>
 </component>

+ 3 - 1
FGUIProject/assets/Arena/components/BtnTab2.xml

@@ -5,7 +5,9 @@
     <image id="n6_jcej" name="n6" src="jcej42" fileName="images/phbphb_btdidi_2.png" xy="0,0">
       <gearDisplay controller="button" pages="0"/>
     </image>
-    <loader id="n4_psph" name="icon" xy="148,41" pivot="0.5,0.5" anchor="true" size="280,82" autoSize="true"/>
+    <loader id="n4_psph" name="icon" xy="148,41" pivot="0.5,0.5" anchor="true" size="127,42" url="ui://4lc5fhlbjcej4i" autoSize="true">
+      <gearIcon controller="button" pages="0,1" values="ui://4lc5fhlbjcej4i|ui://4lc5fhlbjcej4g"/>
+    </loader>
   </displayList>
   <Button mode="Radio"/>
 </component>

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

@@ -2,20 +2,20 @@
 <component size="888,151">
   <displayList>
     <image id="n19_jcej" name="n19" src="jcej44" fileName="images/phbphb_phdi_1.png" xy="0,0"/>
-    <text id="n12_psph" name="txtRank" xy="68,41" pivot="0.5,0" size="49,59" group="n18_psph" font="ui://eg2y0ldpwonotjc" fontSize="44" color="#a98860" align="center" autoClearText="true" text="--"/>
+    <text id="n12_psph" name="txtRank" xy="8,41" pivot="0.5,0" size="172,59" group="n18_psph" font="ui://eg2y0ldpwonotjc" fontSize="44" color="#a98860" align="center" autoClearText="true" text="100000"/>
+    <component id="n31_v461" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="167,-18" size="229,230" group="n35_v461" scale="0.73,0.73"/>
+    <image id="n32_v461" name="n32" src="jcej33" fileName="images/jzsjzs_txktx.png" xy="188,9" group="n35_v461"/>
+    <component id="n33_v461" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="272,11" group="n35_v461" scale="0.7,0.7"/>
+    <component id="n34_v461" name="comLv" src="psphq" fileName="components/ComLv.xml" pkg="eg2y0ldp" xy="273,99" group="n35_v461" scale="0.9,0.9"/>
+    <group id="n35_v461" name="n35" xy="167,-18" size="229,230" group="n18_psph"/>
+    <text id="n14_psph" name="txtName" xy="331,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="330,71" group="n29_jcej"/>
+    <text id="n15_psph" name="txtFightScore" xy="331,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="330,20" size="236,97" group="n18_psph"/>
     <loader id="n16_psph" name="loaDanIcon" xy="600,20" size="99,98" group="n18_psph" url="ui://4lc5fhlbpsphz" fill="scale" clearOnPublish="true"/>
     <text id="n26_jcej" name="n26" xy="729,24" size="122,41" group="n27_jcej" font="ui://eg2y0ldpwonotjc" fontSize="30" color="#c09c6d" text="段位排行"/>
     <text id="n17_psph" name="txtDanRank" xy="770,58" pivot="0.5,0" size="40,56" group="n27_jcej" font="ui://eg2y0ldpweoktkb" fontSize="42" color="#c09c6d" align="center" letterSpacing="-2" bold="true" text="--"/>
     <group id="n27_jcej" name="n27" xy="729,24" size="122,90" group="n18_psph"/>
-    <text id="n14_psph" name="txtName" xy="300,20" size="42,51" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="38" color="#927550" align="center" autoClearText="true" text="--"/>
-    <image id="n25_jcej" name="n25" src="jcej3n" fileName="images/jzsjzs_xxxtxt.png" xy="299,71" group="n29_jcej"/>
-    <text id="n15_psph" name="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"/>
-    <group id="n18_psph" name="n18" xy="68,20" size="783,98"/>
-    <component id="n31_v461" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="130,-18" size="229,230" group="n35_v461" scale="0.73,0.73"/>
-    <image id="n32_v461" name="n32" src="jcej33" fileName="images/jzsjzs_txktx.png" xy="151,9" group="n35_v461"/>
-    <component id="n33_v461" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="235,11" group="n35_v461" scale="0.7,0.7"/>
-    <component id="n34_v461" name="comLv" src="psphq" fileName="components/ComLv.xml" pkg="eg2y0ldp" xy="236,99" group="n35_v461" scale="0.9,0.9"/>
-    <group id="n35_v461" name="n35" xy="130,-18" size="229,230"/>
+    <group id="n18_psph" name="n18" xy="8,-18" size="842,230"/>
   </displayList>
 </component>

+ 11 - 11
FGUIProject/assets/Arena/components/ListRankItem4.xml

@@ -2,20 +2,20 @@
 <component size="916,165">
   <displayList>
     <image id="n19_jcej" name="n19" src="jcej4d" fileName="images/phbphb_zjpm.png" xy="0,0"/>
-    <text id="n12_psph" name="txtRank" xy="81,54" pivot="0.5,0" size="49,59" group="n18_psph" font="ui://eg2y0ldpwonotjc" fontSize="44" color="#a98860" align="center" autoClearText="true" text="--"/>
+    <text id="n12_psph" name="txtRank" xy="19,54" pivot="0.5,0" size="172,59" group="n18_psph" font="ui://eg2y0ldpwonotjc" fontSize="44" color="#a98860" align="center" autoClearText="true" text="100000"/>
+    <component id="n13_psph" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="189,-6" size="229,230" group="n30_jcej" scale="0.73,0.73"/>
+    <image id="n32_v461" name="n32" src="jcej33" fileName="images/jzsjzs_txktx.png" xy="210,21" group="n30_jcej"/>
+    <component id="n24_jcej" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="294,19" group="n30_jcej" scale="0.7,0.7"/>
+    <component id="n23_jcej" name="comLv" src="psphq" fileName="components/ComLv.xml" pkg="eg2y0ldp" xy="294,111" group="n30_jcej" scale="0.9,0.9"/>
+    <group id="n30_jcej" name="n30" xy="189,-6" size="229,230" group="n18_psph"/>
+    <text id="n14_psph" name="txtName" xy="346,33" 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="344,84" group="n29_jcej"/>
+    <text id="n15_psph" name="txtFightScore" xy="345,91" size="201,39" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="28" color="#9b7c56" align="center" autoClearText="true" text="竞技场战力:--"/>
+    <group id="n29_jcej" name="n29" xy="344,33" size="236,97" group="n18_psph"/>
     <loader id="n16_psph" name="loaDanIcon" xy="617,33" size="99,98" group="n18_psph" url="ui://4lc5fhlbpsphz" fill="scale"/>
-    <text id="n14_psph" name="txtName" xy="312,33" 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="310,84" group="n29_jcej"/>
-    <text id="n15_psph" name="txtArenaScore" xy="311,91" size="201,39" group="n29_jcej" font="ui://eg2y0ldpwonotjc" fontSize="28" color="#9b7c56" align="center" autoClearText="true" text="竞技场战力:--"/>
-    <group id="n29_jcej" name="n29" xy="310,33" size="236,97" group="n18_psph"/>
     <text id="n26_jcej" name="n26" xy="742,37" size="122,41" group="n27_jcej" font="ui://eg2y0ldpwonotjc" fontSize="30" color="#c09c6d" text="段位排行"/>
     <text id="n17_psph" name="txtDanRank" xy="783,71" pivot="0.5,0" size="40,56" group="n27_jcej" font="ui://eg2y0ldpweoktkb" fontSize="42" color="#c09c6d" align="center" letterSpacing="-2" bold="true" text="--"/>
     <group id="n27_jcej" name="n27" xy="742,37" size="122,90" group="n18_psph"/>
-    <component id="n13_psph" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="141,-6" size="229,230" group="n30_jcej" scale="0.73,0.73"/>
-    <image id="n32_v461" name="n32" src="jcej33" fileName="images/jzsjzs_txktx.png" xy="162,21" group="n30_jcej"/>
-    <component id="n24_jcej" name="btnLook" src="jcej2w" fileName="components/BtnLook.xml" xy="246,19" group="n30_jcej" scale="0.7,0.7"/>
-    <component id="n23_jcej" name="comLv" src="psphq" fileName="components/ComLv.xml" pkg="eg2y0ldp" xy="246,111" group="n30_jcej" scale="0.9,0.9"/>
-    <group id="n30_jcej" name="n30" xy="141,-6" size="229,230" group="n18_psph"/>
-    <group id="n18_psph" name="n18" xy="81,-6" size="783,230"/>
+    <group id="n18_psph" name="n18" xy="19,-6" size="844,230"/>
   </displayList>
 </component>

+ 2 - 0
FGUIProject/assets/Arena/package.xml

@@ -163,6 +163,8 @@
     <component id="v4614x" name="Button15.xml" path="/components/"/>
     <image id="v4614y" name="hz_qhdzfz.png" path="/components/"/>
     <image id="v4614z" name="tz_yuexiazy.png" path="/components/"/>
+    <component id="u10a51" name="BtnTab11.xml" path="/components/"/>
+    <component id="u10a52" name="BtnTab22.xml" path="/components/"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Arena" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 14 - 2
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -17,7 +17,8 @@ namespace GFGGame
         public int HighestRank = 10000; //本赛最高季段位内排名
         public List<FightData> DressupList = new List<FightData>();//我的搭配列表
         public List<ArenaTargetData> Targets = new List<ArenaTargetData>();//对手
-        public ArenaTargetData SelfData = new ArenaTargetData();//自己的排行榜信息
+        public ArenaTargetData SelfData;//自己的排行榜信息
+        public ArenaTargetData SelfLastData;//自己的上赛季排行榜信息
         public Dictionary<int, List<ArenaTargetData>> RankDatasDic = new Dictionary<int, List<ArenaTargetData>>();//排行榜数据
         public List<ArenaHistoryData> HistoryDatas = new List<ArenaHistoryData>();//获取竞技场历史记录
 
@@ -74,8 +75,9 @@ namespace GFGGame
             targetFightScore.Clear();
             roundTime.Clear();
             targetRoundTime.Clear();
-            LastTargetInfo = null;
+            // LastTargetInfo = null;
             SelfData = null;
+            SelfLastData = null;
         }
         /// <summary>
         /// 是否结算中
@@ -311,6 +313,16 @@ namespace GFGGame
         /// <param name="roleDatas"></param>
         /// <param name="robotDatas"></param>
         /// <returns></returns>
+        public long GetAllFightScore(List<long> fightScores)
+        {
+            long fightScore = 0;
+
+            for (int i = 0; i < fightScores.Count; i++)
+            {
+                fightScore += fightScores[i];
+            }
+            return fightScore;
+        }
         public long GetAllFightScore(List<FightData> roleDatas)
         {
             long fightScore = 0;

+ 8 - 3
GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs

@@ -313,7 +313,7 @@ namespace GFGGame
             int currentTime = BeginTime.PART_ALL_FIGHT_BEGIN;
             GetSkillScore(FightRoleType.MINE, roundIndex, currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
             GetSkillScore(FightRoleType.TAEGET, roundIndex, currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
-
+            Debug.Log(" targetScore000:" + targetScore);
             for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
             {
                 partId++;
@@ -321,6 +321,7 @@ namespace GFGGame
                 currentTime = BeginTime.PART_FIGHT_BEGIN;
                 GetSkillScore(FightRoleType.MINE, roundIndex, currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
                 GetSkillScore(FightRoleType.TAEGET, roundIndex, currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
+                // Debug.Log(" targetScore111:" + targetScore);
                 score += ScoreSystemData.Instance.GetPartScore(myRoleData, partId, ClickType.PREFACT_CLICK, 0);
                 if (targetRoleData.type == FightTargetType.PLAYER)
                 {
@@ -330,16 +331,19 @@ namespace GFGGame
                 {
                     targetScore += ScoreSystemData.Instance.GetRobotPartScore(targetRoleData, partId, ClickType.PREFACT_CLICK, 0);
                 }
+                // Debug.Log(" targetScore222:" + targetScore);
                 currentTime = BeginTime.PART_PREFACT_CLICK;
                 GetSkillScore(FightRoleType.MINE, roundIndex, currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
                 GetSkillScore(FightRoleType.TAEGET, roundIndex, currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
                 currentTime = BeginTime.PART_FIGHT_END;
                 GetSkillScore(FightRoleType.MINE, roundIndex, currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
                 GetSkillScore(FightRoleType.TAEGET, roundIndex, currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
-
+                Debug.Log(" targetScore444:" + targetScore);
             }
             score += ScoreSystemData.Instance.GetAllCircleAddScore(mainScore);
+            // Debug.Log(" targetScore555:" + targetScore);
             targetScore += ScoreSystemData.Instance.GetAllCircleAddScore(targetMainScore);
+            Debug.Log(" targetScore666:" + targetScore);
             _score = Mathf.CeilToInt((float)score);
             _targetScore = Mathf.CeilToInt((float)targetScore);
 
@@ -349,7 +353,8 @@ namespace GFGGame
         {
             List<PassivitySkillLvlCfg> vaildSkills = ScoreSystemData.Instance.GetValidSkills(currentTime, partId, cardId, skillLvs, targetCardId, targetSkillLvs, roundTime, targetRoundTime);
             ScoreSystemData.Instance.GetPartItemSkillScore(vaildSkills, mainScore, targetMainScore, out int skillScore, out int targetSkillScore, out Dictionary<int, int> skillScoreDic);
-
+            Debug.Log(" skillScore:" + skillScore);
+            Debug.Log(" targetSkillScore:" + targetSkillScore);
             score += skillScore;
             targetScore += targetSkillScore;
 

+ 8 - 1
GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs

@@ -181,7 +181,14 @@ namespace GFGGame
         public void UpdateNpcHead(GComponent component, string res)
         {
             UI_ComHead comHead = UI_ComHead.Proxy(component);
-            comHead.m_comHead.m_loaIcon.url = ResPathUtil.GetNpcHeadPath(res);
+            if (string.IsNullOrEmpty(res))
+            {
+                comHead.m_comHead.m_loaIcon.url = res;
+            }
+            else
+            {
+                comHead.m_comHead.m_loaIcon.url = ResPathUtil.GetNpcHeadPath(res);
+            }
             UI_ComHead.ProxyEnd();
         }
 

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

@@ -9,6 +9,7 @@ namespace GFGGame
         public int Type; //类型,由FightTargetType定义
         public OtherRoleInfoData RoleInfo = new OtherRoleInfoData(); //玩家数据
         public List<FightData> FightDatas = new List<FightData>();//搭配列表,与RobotDressupList只能存在一个,取决于Type
+        public List<long> FightScores = new List<long>();//搭配战力,卓越点击战力,卡牌战力
 
     }
 
@@ -22,8 +23,8 @@ namespace GFGGame
         public int Rank = 1;//自己战斗后排行
         public ArenaTargetData targetData;
         public List<long> MyScores = new List<long>();//自己3轮战斗分数
-        public List<long> FightScores = new List<long>();//自己 搭配战力,卓越点击战力,卡牌战力
         public List<long> TargetScores = new List<long>();//对手3轮战斗分数
+        public List<long> FightScores = new List<long>();//自己 搭配战力,卓越点击战力,卡牌战力,对方的在targetData里
 
     }
 }

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

@@ -15,6 +15,7 @@ namespace UI.Arena
         public GButton m_btn01;
         public GList m_listRank;
         public UI_ListRankItem4 m_comMyRank;
+        public GTextField m_txtTips;
         public const string URL = "ui://4lc5fhlbpsph5";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ArenaRankUI";
@@ -70,6 +71,7 @@ namespace UI.Arena
             m_btn01 = (GButton)comp.GetChild("btn01");
             m_listRank = (GList)comp.GetChild("listRank");
             m_comMyRank = (UI_ListRankItem4)UI_ListRankItem4.Create(comp.GetChild("comMyRank"));
+            m_txtTips = (GTextField)comp.GetChild("txtTips");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -82,6 +84,7 @@ namespace UI.Arena
             m_listRank = null;
             m_comMyRank.Dispose();
             m_comMyRank = null;
+            m_txtTips = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -8,13 +8,13 @@ namespace UI.Arena
     {
         public GComponent target;
         public GTextField m_txtRank;
-        public GLoader m_loaDanIcon;
-        public GTextField m_txtDanRank;
-        public GTextField m_txtName;
-        public GTextField m_txtFightScore;
         public GComponent m_comHead;
         public GButton m_btnLook;
         public GComponent m_comLv;
+        public GTextField m_txtName;
+        public GTextField m_txtFightScore;
+        public GLoader m_loaDanIcon;
+        public GTextField m_txtDanRank;
         public const string URL = "ui://4lc5fhlbpsphy";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ListRankItem3";
@@ -63,24 +63,24 @@ namespace UI.Arena
         private void Init(GComponent comp)
         {
             m_txtRank = (GTextField)comp.GetChild("txtRank");
-            m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
-            m_txtDanRank = (GTextField)comp.GetChild("txtDanRank");
-            m_txtName = (GTextField)comp.GetChild("txtName");
-            m_txtFightScore = (GTextField)comp.GetChild("txtFightScore");
             m_comHead = (GComponent)comp.GetChild("comHead");
             m_btnLook = (GButton)comp.GetChild("btnLook");
             m_comLv = (GComponent)comp.GetChild("comLv");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_txtFightScore = (GTextField)comp.GetChild("txtFightScore");
+            m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
+            m_txtDanRank = (GTextField)comp.GetChild("txtDanRank");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_txtRank = null;
-            m_loaDanIcon = null;
-            m_txtDanRank = null;
-            m_txtName = null;
-            m_txtFightScore = null;
             m_comHead = null;
             m_btnLook = null;
             m_comLv = null;
+            m_txtName = null;
+            m_txtFightScore = null;
+            m_loaDanIcon = null;
+            m_txtDanRank = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -8,13 +8,13 @@ namespace UI.Arena
     {
         public GComponent target;
         public GTextField m_txtRank;
-        public GLoader m_loaDanIcon;
-        public GTextField m_txtName;
-        public GTextField m_txtArenaScore;
-        public GTextField m_txtDanRank;
         public GComponent m_comHead;
         public GButton m_btnLook;
         public GComponent m_comLv;
+        public GTextField m_txtName;
+        public GTextField m_txtFightScore;
+        public GLoader m_loaDanIcon;
+        public GTextField m_txtDanRank;
         public const string URL = "ui://4lc5fhlbjcej4k";
         public const string PACKAGE_NAME = "Arena";
         public const string RES_NAME = "ListRankItem4";
@@ -63,24 +63,24 @@ namespace UI.Arena
         private void Init(GComponent comp)
         {
             m_txtRank = (GTextField)comp.GetChild("txtRank");
-            m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
-            m_txtName = (GTextField)comp.GetChild("txtName");
-            m_txtArenaScore = (GTextField)comp.GetChild("txtArenaScore");
-            m_txtDanRank = (GTextField)comp.GetChild("txtDanRank");
             m_comHead = (GComponent)comp.GetChild("comHead");
             m_btnLook = (GButton)comp.GetChild("btnLook");
             m_comLv = (GComponent)comp.GetChild("comLv");
+            m_txtName = (GTextField)comp.GetChild("txtName");
+            m_txtFightScore = (GTextField)comp.GetChild("txtFightScore");
+            m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
+            m_txtDanRank = (GTextField)comp.GetChild("txtDanRank");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_txtRank = null;
-            m_loaDanIcon = null;
-            m_txtName = null;
-            m_txtArenaScore = null;
-            m_txtDanRank = null;
             m_comHead = null;
             m_btnLook = null;
             m_comLv = null;
+            m_txtName = null;
+            m_txtFightScore = null;
+            m_loaDanIcon = null;
+            m_txtDanRank = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

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

@@ -20,7 +20,10 @@ namespace GFGGame
         {
             ArenaHistoryData historyData = ArenaSproxy.GetArenaHistoryData(message.history);
             ArenaDataManager.Instance.HistoryDatas.Insert(0, historyData);
-            ArenaDataManager.Instance.HistoryDatas.RemoveAt(ArenaDataManager.Instance.HistoryDatas.Count - 1);
+            if (ArenaDataManager.Instance.HistoryDatas.Count > 20)
+            {
+                ArenaDataManager.Instance.HistoryDatas.RemoveAt(ArenaDataManager.Instance.HistoryDatas.Count - 1);
+            }
             await ETTask.CompletedTask;
         }
     }
@@ -69,7 +72,7 @@ namespace GFGGame
         public static async ETTask<bool> ReqRefreshArenaTargets()
         {
             S2C_RefreshArenaTargets response = null;
-            response = (S2C_RefreshArenaTargets)await MessageHelper.SendToServer(new C2S_RefreshArenaTargets());
+            response = (S2C_RefreshArenaTargets)await MessageHelper.SendToServer(new C2S_RefreshArenaTargets() { RoleId = RoleDataManager.roleId });
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
@@ -138,7 +141,7 @@ namespace GFGGame
                 TargetFightPower = targetFightPower,
                 SelfRandScore = myScore,
                 TargetRandScore = targetScore,
-            });
+            }, false);
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
@@ -161,11 +164,23 @@ namespace GFGGame
                     ArenaDataManager.Instance.Grade = response.Grade;
                     ArenaDataManager.Instance.Rank = response.RankInGrade;
                     ArenaDataManager.Instance.TryUpdateHighest();
-
                     EventAgent.DispatchEvent(ConstMessage.ARENA_FIGHT_RESULT);
 
                     return true;
                 }
+                else
+                {
+                    //更新新数据
+                    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);
+
+                    return false;
+                }
+
             }
             return false;
         }
@@ -188,7 +203,17 @@ namespace GFGGame
                     {
                         rankDatas.Add(GetArenaTargetData(response.ranks[i]));
                     }
-                    ArenaDataManager.Instance.SelfData = GetArenaTargetData(response.self);
+                    if (response.self != null)
+                    {
+                        if (rankType == ArenaRankType.LAST_SEASON)
+                        {
+                            ArenaDataManager.Instance.SelfLastData = GetArenaTargetData(response.self);
+                        }
+                        else
+                        {
+                            ArenaDataManager.Instance.SelfData = GetArenaTargetData(response.self);
+                        }
+                    }
                     return true;
                 }
             }
@@ -249,10 +274,11 @@ namespace GFGGame
             arenaHistory.Grade = arenaHistoryProto.Grade;
             arenaHistory.Rank = arenaHistoryProto.Rank;
             arenaHistory.targetData = GetArenaTargetData(arenaHistoryProto.target);
+            arenaHistory.FightScores = arenaHistoryProto.SelfFightPower;
             arenaHistory.GradeChangeType = arenaHistoryProto.GradeChangeType;
             arenaHistory.MyScores = arenaHistoryProto.SelfRandScore;
             arenaHistory.TargetScores = arenaHistoryProto.TargetRandScore;
-            arenaHistory.FightScores = arenaHistoryProto.SelfFightPower;
+            // arenaHistory.FightScores = arenaHistoryProto.SelfFightPower;
             return arenaHistory;
         }
 
@@ -262,6 +288,7 @@ namespace GFGGame
             arenaTarget.Grade = arenaTargetProto.Grade;
             arenaTarget.RankInGrade = arenaTargetProto.RankInGrade;
             arenaTarget.Type = arenaTargetProto.Type;
+            arenaTarget.FightScores = arenaTargetProto.FightPower;
             if (arenaTarget.Type == FightTargetType.PLAYER)
             {
                 arenaTarget.RoleInfo.roleId = arenaTargetProto.RoleInfo.RoleId;

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

@@ -61,11 +61,13 @@ namespace GFGGame
             item.m_c1.selectedIndex = 0;
             item.m_ctrResult.selectedIndex = historyData.isWin ? 1 : 0;
             item.m_ctrDan.selectedIndex = historyData.GradeChangeType;
+            item.m_txtTargetName.text = historyData.targetData.RoleInfo.roleName;
             item.m_txtRank.text = historyData.targetData.RankInGrade.ToString();
-            item.m_txtTargetFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(historyData.targetData.FightDatas));
+
+            item.m_txtTargetFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(historyData.targetData.FightScores));
             ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, historyData.targetData.Grade);
             TimeUtil.FormattingTime(historyData.FightTime, TimeHelper.ServerNow(), out int num, out string str);
-            str = num < 60 ? "刚刚" : str + "前";
+            str = str == "秒" ? "刚刚" : num + str + "前";
             item.m_txtTime.text = string.Format("{0} {1}", str, historyData.IsChallenge ? "发起挑战" : "接收挑战");
             item.m_btnShow.data = historyData;
             if (item.m_btnLook.data == null)

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

@@ -41,8 +41,8 @@ namespace GFGGame
             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 targetName = (this.viewData as object[])[2].ToString();
+            int targetHeadId = (int)(this.viewData as object[])[3];
             string targetHeadRes = (this.viewData as object[])[4].ToString();
 
             this.clickBlankToClose = false;
@@ -50,7 +50,7 @@ namespace GFGGame
             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; });
+            _ui.m_t0.Play(() => { this.clickBlankToClose = true; });
         }
 
         protected override void OnHide()

+ 79 - 9
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaRankView.cs

@@ -11,6 +11,8 @@ namespace GFGGame
         private UI_ArenaRankUI _ui;
         private int _rankType = 0;
 
+        private bool _lock = false;
+
         public override void Dispose()
         {
             if (_ui != null)
@@ -46,8 +48,17 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            _rankType = 0;
+            _rankType = ArenaRankType.NOW_SEASON;
+            // _ui.m_btn0.selected = true;
+            // _ui.m_btn1.selected = false;
+            // _ui.m_btn00.selected = true;
+            // _ui.m_btn01.selected = false;
+            // _ui.m_c1.selectedIndex = 1;
+            // _ui.m_c2.selectedIndex = 1;
+            // _ui.m_c1.selectedIndex = 0;
+            // _ui.m_c2.selectedIndex = 0;
             _ui.m_listRank.numItems = 100;
+            _ui.m_comMyRank.m_btnLook.visible = false;
             ArenaDataManager.Instance.RankDatasDic.Clear();
             ReqRankList(0);
         }
@@ -68,12 +79,14 @@ namespace GFGGame
             if (_ui.m_c1.selectedIndex == 0)
             {
                 _ui.m_c2.selectedIndex = 0;
+                _rankType = ArenaRankType.NOW_SEASON;
             }
             else
             {
                 _rankType = ArenaRankType.FRIEND;
             }
             if (_ui.m_listRank.numItems > 0) _ui.m_listRank.ScrollToView(0);
+            _ui.m_listRank.numItems = 0;
             ReqRankList(0);
         }
         private void OnTab1Change()
@@ -87,11 +100,13 @@ namespace GFGGame
                 _rankType = ArenaRankType.LAST_SEASON;
             }
             if (_ui.m_listRank.numItems > 0) _ui.m_listRank.ScrollToView(0);
+            _ui.m_listRank.numItems = 0;
             ReqRankList(0);
         }
         private void OnListScroll()
         {
-            int itemIndex = _ui.m_listRank.ChildIndexToItemIndex(0);
+
+            int itemIndex = _ui.m_listRank.ChildIndexToItemIndex(_ui.m_listRank.numChildren - 1);
             if (itemIndex % 20 == 0)
             {
                 ReqRankList(itemIndex);
@@ -99,16 +114,68 @@ namespace GFGGame
         }
         private async void ReqRankList(int index)
         {
-            if (ArenaDataManager.Instance.RankDatasDic.ContainsKey(_rankType) && ArenaDataManager.Instance.RankDatasDic[_rankType].Count >= index) return;
-            bool result = await ArenaSproxy.ReqArenaRank(_rankType, index + 1, index + 18);
+
+            int count = 0;
+            if (ArenaDataManager.Instance.RankDatasDic.ContainsKey(_rankType))
+            {
+                count = ArenaDataManager.Instance.RankDatasDic[_rankType].Count;
+            }
+            if (_lock) return;
+            if (count > index)
+            {
+                UpdateView();
+                return;
+            }
+            _lock = true;
+            int startIndex = index + 1;
+            bool result = await ArenaSproxy.ReqArenaRank(_rankType, startIndex, startIndex + 19);
             if (result)
             {
-                _ui.m_listRank.RefreshVirtualList();
-                _ui.m_comMyRank.m_btnLook.visible = false;
-                UpdateOtherItem(ArenaDataManager.Instance.SelfData, _ui.m_comMyRank.target, true);
+                UpdateView();
             }
+            _lock = false;
         }
+        private void UpdateView()
+        {
+            UpdateSelf();
+            // _ui.m_listRank.numItems = 0;
+            if (_rankType == ArenaRankType.FRIEND)
+            {
+                _ui.m_listRank.numItems = ArenaDataManager.Instance.RankDatasDic[_rankType].Count;
+            }
+            else if (_rankType == ArenaRankType.LAST_SEASON)
+            {
+                if (ArenaDataManager.Instance.RankDatasDic[_rankType].Count == 0)
+                {
+                    _ui.m_listRank.numItems = 0;
+                }
+                else
+                {
+                    _ui.m_listRank.numItems = 100;
+                }
+            }
+            else
+            {
+                _ui.m_listRank.numItems = 100;
+            }
+            _ui.m_listRank.RefreshVirtualList();
+            _ui.m_txtTips.visible = _ui.m_listRank.numItems == 0;
 
+        }
+        private void UpdateSelf()
+        {
+            _ui.m_comMyRank.target.visible = false;
+            if ((_rankType == ArenaRankType.FRIEND || _rankType == ArenaRankType.NOW_SEASON) && ArenaDataManager.Instance.SelfData != null)
+            {
+                _ui.m_comMyRank.target.visible = true;
+                UpdateOtherItem(ArenaDataManager.Instance.SelfData, _ui.m_comMyRank.target, true);
+            }
+            else if (_rankType == ArenaRankType.LAST_SEASON && ArenaDataManager.Instance.SelfLastData != null)
+            {
+                _ui.m_comMyRank.target.visible = true;
+                UpdateOtherItem(ArenaDataManager.Instance.SelfLastData, _ui.m_comMyRank.target, true);
+            }
+        }
         private string GetListItemResource(int index)
         {
             if (index == 0)
@@ -219,17 +286,20 @@ namespace GFGGame
             {
                 item.m_txtRank.text = arenaData.RankInGrade.ToString();
                 item.m_txtName.text = arenaData.RoleInfo.roleName;
-                long fightScore = ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas);
-                item.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
                 item.m_txtDanRank.text = arenaData.Grade.ToString();
+
                 ArenaViewManager.Instance.UpdateDanIcon(item.m_loaDanIcon, arenaData.Grade);
                 RoleInfoManager.Instance.UpdateLv(item.m_comLv, arenaData.RoleInfo.roleLv);
                 if (arenaData.Type == FightTargetType.PLAYER)
                 {
+                    //上榜的玩家一定战斗过,可以直接计算
+                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightScores));
                     RoleInfoManager.Instance.UpdateHead(item.m_comHead, arenaData.RoleInfo.headId, 0);
                 }
                 else
                 {
+                    //上榜的机器人不一定战斗过,所以不一定有竞技场战力数据,所以机器人需要重新计算
+                    item.m_txtFightScore.text = string.Format("竞技场战力:{0}", ArenaDataManager.Instance.GetAllFightScore(arenaData.FightDatas));
                     RoleInfoManager.Instance.UpdateNpcHead(item.m_comHead, arenaData.RoleInfo.headRes);
                 }
             }

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

@@ -88,11 +88,11 @@ namespace GFGGame
                     ViewManager.Show<ArenaDanUpView>(new object[] { dataManager.LastGrade, ArenaDataManager.Instance.Grade, dataManager.RewardId });
                 });
             }
-            else if (dataManager.Rank > ArenaDataManager.Instance.LastRank)
+            else if (dataManager.Rank < ArenaDataManager.Instance.LastRank)
             {
                 BonusController.TryShowBonusList(dataManager.BonusList, () =>
                 {
-                    ViewManager.Show<ArenaRankUpView>(new object[] { dataManager.LastGrade, dataManager.LastRank, dataManager.LastTargetInfo.headId, dataManager.LastTargetInfo.headRes, dataManager.LastTargetInfo.roleName });
+                    ViewManager.Show<ArenaRankUpView>(new object[] { dataManager.LastGrade, dataManager.LastRank, dataManager.LastTargetInfo.roleName, dataManager.LastTargetInfo.headId, dataManager.LastTargetInfo.headRes });
                 });
             }
             else

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

@@ -101,11 +101,11 @@ namespace GFGGame
                     ViewManager.Show<ArenaDanUpView>(new object[] { dataManager.LastGrade, ArenaDataManager.Instance.Grade, dataManager.RewardId });
                 });
             }
-            else if (dataManager.Rank > ArenaDataManager.Instance.LastRank)
+            else if (dataManager.Rank < ArenaDataManager.Instance.LastRank)
             {
                 BonusController.TryShowBonusList(dataManager.BonusList, () =>
                 {
-                    ViewManager.Show<ArenaRankUpView>(new object[] { dataManager.LastGrade, dataManager.LastRank, dataManager.LastTargetInfo.headId, dataManager.LastTargetInfo.headRes, dataManager.LastTargetInfo.roleName });
+                    ViewManager.Show<ArenaRankUpView>(new object[] { dataManager.LastGrade, dataManager.LastRank, dataManager.LastTargetInfo.roleName, dataManager.LastTargetInfo.headId, dataManager.LastTargetInfo.headRes });
                 });
             }
             else

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

@@ -1,3 +1,4 @@
+using System.Collections;
 using System.Collections.Generic;
 using ET;
 using FairyGUI;
@@ -12,6 +13,7 @@ namespace GFGGame
         private UI_ArenaUI _ui;
         private GameObject _scenePrefab;
         private GameObject _sceneObject;
+        private DressUpObj _copyDressUpObj;
         private DressUpObj _targetDressUpObj;
         private ValueBarController _valueBarController;
         private ArenaDataManager _dataManager;
@@ -30,6 +32,7 @@ namespace GFGGame
                 _valueBarController.Dispose();
                 _valueBarController = null;
             }
+            _copyDressUpObj.Dispose();
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -65,11 +68,12 @@ namespace GFGGame
             _ui.m_btnRule.onClick.Add(OnBtnRuleClick);
 
             _ui.m_listTarget.itemRenderer = RenderListTargetItem;
-            // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
 
             _dataManager = ArenaDataManager.Instance;
-            // _dataManager.SetTestInfo();
+
+
         }
+
         protected override void AddEventListener()
         {
             base.AddEventListener();
@@ -112,6 +116,7 @@ namespace GFGGame
             UpdateValue();
             UpdateRole();
             // GetFightResult();
+            // ArenaSproxy.ReqArenaHistory().Coroutine();
         }
 
         protected override void OnHide()
@@ -235,6 +240,7 @@ namespace GFGGame
             if (RoleDataManager.ArenaFightTimes <= 0)
             {
                 PromptController.Instance.ShowFloatTextPrompt("挑战次数不足");
+                return;
             }
             for (int i = 0; i < _dataManager.DressupList.Count; i++)
             {
@@ -332,6 +338,16 @@ namespace GFGGame
             if (_sceneObject == null)
             {
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
+
+                GameObject sceneCopyObject = _sceneObject.transform.Find("CopyRole").gameObject;
+                sceneCopyObject.SetActive(true);
+                _copyDressUpObj = new DressUpObj();
+                _copyDressUpObj.setSceneObj(sceneCopyObject, false, false);
+                for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
+                {
+                    Timers.inst.StartCoroutine(ScreenShotTex(i));
+                }
+                sceneCopyObject.SetActive(false);
             }
             GameObject mySceneObj = _sceneObject.transform.Find("MyRole").gameObject;
             MyDressUpHelper.dressUpObj.setSceneObj(mySceneObj, false, false);
@@ -420,5 +436,18 @@ namespace GFGGame
             }
             ViewManager.Show<ArenaDressInfoView>(new object[] { FightRoleType.TAEGET, 0, targetData.FightDatas }, new object[] { typeof(ArenaView).FullName, _targetData }, true);
         }
+
+        private IEnumerator ScreenShotTex(int index)
+        {
+
+            _copyDressUpObj.TakeOffAll();
+            _copyDressUpObj.PutOnItemList(_dataManager.DressupList[index].itemList);
+
+            GameObject gameObject = _sceneObject.transform.Find("FightCamera").gameObject;
+            Camera camera = gameObject.GetComponent<Camera>();
+            ArenaDataManager.Instance.TextureDic[index] = FightDataManager.Instance.GetPrintscreenNTexture(camera);
+
+            yield return new WaitForEndOfFrame();
+        }
     }
 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/ArenaFightResultView.cs

@@ -49,7 +49,7 @@ namespace GFGGame
             Debug.Log("CurFightIndex:" + ArenaDataManager.Instance.CurFightIndex);
             Debug.Log("Count:" + ArenaDataManager.Instance.myScore.Count);
             long myScore = ArenaDataManager.Instance.myScore[ArenaDataManager.Instance.CurFightIndex];
-            long targetScore = ArenaDataManager.Instance.targetFightScore[ArenaDataManager.Instance.CurFightIndex];
+            long targetScore = ArenaDataManager.Instance.targetScore[ArenaDataManager.Instance.CurFightIndex];
 
             bool isWin = myScore > targetScore;
             NTexture nTexture = new NTexture(ArenaDataManager.Instance.TextureDic[ArenaDataManager.Instance.CurFightIndex]);

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

@@ -414,6 +414,7 @@ namespace GFGGame
             // Debug.Log("partId:" + _partId + "   targetSkillScore: " + _targetPartScore);
             _score += _partScore;
             _targetScore += _targetPartScore;
+            Debug.Log("_targetScore:" + _targetScore);
             _ui.m_comClick.m_comResult.m_c1.selectedIndex = clickType;
             switch (clickType)
             {
@@ -446,16 +447,9 @@ namespace GFGGame
 
         private void UpdateProgress(Action onFinish)
         {
-            _ui.m_proScore.m_txtMineScore.text = RoleDataManager.roleName + _score;
-            // if (targetData.type == ArenaFightTargetType.PLAYER)
-            // {
+            _ui.m_proScore.m_txtMineScore.text = RoleDataManager.roleName + " " + _score;
+            _ui.m_proScore.m_txtNpcScore.text = targetData.name + " " + _targetScore;
 
-            _ui.m_proScore.m_txtNpcScore.text = targetData.name + _targetScore;
-            // }
-            // else
-            // {
-            //     _ui.m_proScore.m_txtNpcScore.text = targetRobotData.name + _targetScore;
-            // }
             double proportion = _score + _targetScore == 0 ? 0 : _score / (_score + _targetScore);
             float width = (float)(proportion * _ui.m_proScore.target.width);
             width = width > _ui.m_proScore.m_comBar.target.initWidth ? _ui.m_proScore.m_comBar.target.initWidth : width;

+ 7 - 8
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs

@@ -1,6 +1,8 @@
 using FairyGUI;
 using UnityEngine;
 using UI.Main;
+using System.Collections.Generic;
+
 namespace GFGGame
 {
     public class StoryFightTargetView : BaseView
@@ -82,20 +84,17 @@ namespace GFGGame
                 targetFightData = ArenaDataManager.Instance.Targets[ArenaDataManager.Instance.SelectTargetIndex].FightDatas[0];
                 _ui.m_targetName.m_txtName.text = targetFightData.name;
 
+                _sceneTargetObj.SetActive(true);
+                _sceneNpcObj.SetActive(false);
+                _targetDressUpObj.setSceneObj(_sceneTargetObj, true, false);
                 if (targetFightData.type == FightTargetType.ROBOT)
                 {
-                    _sceneTargetObj.SetActive(false);
-                    _sceneNpcObj.SetActive(true);
-                    SceneController.UpdateFightTarget(targetFightData.res, _sceneObject);
+                    _targetDressUpObj.PutOnSuitCfg(targetFightData.showSuitId, false);
                 }
                 else
                 {
-                    _sceneTargetObj.SetActive(true);
-                    _sceneNpcObj.SetActive(false);
-                    _targetDressUpObj.setSceneObj(_sceneTargetObj, true, false);
-                    _targetDressUpObj.PutOnItemList(targetFightData.itemList);
-
 
+                    _targetDressUpObj.PutOnItemList(targetFightData.itemList);
                 }
 
                 MusicManager.Instance.Play(ResPathUtil.GetMusicPath("fight", "mp3"));

+ 199 - 0
GameClient/Assets/ResIn/Prefab/SceneArena.prefab

@@ -1,5 +1,101 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!1 &327875313097829357
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6134935390778149941}
+  - component: {fileID: 3307233362577633002}
+  - component: {fileID: 5616190059448231669}
+  - component: {fileID: 7827625751427159717}
+  m_Layer: 0
+  m_Name: FightCamera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6134935390778149941
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 327875313097829357}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 369419672786543710}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &3307233362577633002
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 327875313097829357}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_FocalLength: 50
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: -1
+  far clip plane: 2
+  field of view: 60
+  orthographic: 1
+  orthographic size: 9.6
+  m_Depth: -2
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 23
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 0
+  m_HDR: 1
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 0
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!114 &5616190059448231669
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 327875313097829357}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 03a74e9be952781499f1c48566c89209, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!124 &7827625751427159717
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 327875313097829357}
+  m_Enabled: 1
 --- !u!1 &409667373392565201
 GameObject:
   m_ObjectHideFlags: 0
@@ -195,6 +291,8 @@ Transform:
   - {fileID: 7512704231378774906}
   - {fileID: 7144809034428671479}
   - {fileID: 4648731517489415621}
+  - {fileID: 931907437286195507}
+  - {fileID: 6134935390778149941}
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -341,6 +439,107 @@ Transform:
   m_Father: {fileID: 369419672786543710}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8358769831542289524
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 931907437286195507}
+  m_Layer: 0
+  m_Name: CopyRole
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &931907437286195507
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8358769831542289524}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 7327046668600916321}
+  m_Father: {fileID: 369419672786543710}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &1351871095957019119
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 931907437286195507}
+    m_Modifications:
+    - target: {fileID: 6890174107261882195, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_Name
+      value: faxing
+      objectReference: {fileID: 0}
+    - 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
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - 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}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+--- !u!4 &7327046668600916321 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+  m_PrefabInstance: {fileID: 1351871095957019119}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1001 &3841298064563205818
 PrefabInstance:
   m_ObjectHideFlags: 0

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