zhaoyang 2 vuotta sitten
vanhempi
commit
dac9041ee3
44 muutettua tiedostoa jossa 838 lisäystä ja 473 poistoa
  1. 3 3
      FGUIProject/assets/Arena/ArenaUI.xml
  2. 0 1
      FGUIProject/assets/Arena/components/BtnFight.xml
  3. 0 1
      FGUIProject/assets/Arena/components/BtnRecord.xml
  4. 0 1
      FGUIProject/assets/Arena/components/BtnRefresh.xml
  5. 0 1
      FGUIProject/assets/Arena/components/BtnRelect.xml
  6. 12 0
      FGUIProject/assets/Arena/components/ComCostCurrency.xml
  7. 1 0
      FGUIProject/assets/Arena/package.xml
  8. 9 9
      FGUIProject/assets/CommonGame/components/ComponentValueBar.xml
  9. 1 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstStorageId.cs
  10. 107 3
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  11. 4 0
      GameClient/Assets/Game/HotUpdate/Data/ArenaViewManager.cs
  12. 47 131
      GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs
  13. 44 1
      GameClient/Assets/Game/HotUpdate/Data/RoleDataManager.cs
  14. 19 26
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaUI.cs
  15. 0 11
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnFight.cs.meta
  16. 0 71
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRecord.cs
  17. 0 11
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRecord.cs.meta
  18. 0 71
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRefresh.cs
  19. 0 71
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRelect.cs
  20. 0 11
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRelect.cs.meta
  21. 19 16
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ComCostCurrency.cs
  22. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ComCostCurrency.cs.meta
  23. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHead.cs
  24. 11 4
      GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs
  25. 9 0
      GameClient/Assets/Game/HotUpdate/Utils/ItemUtil.cs
  26. 4 0
      GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs
  27. 2 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDanRewardView.cs
  28. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDanUpView.cs
  29. 3 7
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDressInfoView.cs
  30. 197 1
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs
  31. 9 12
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/ValueBarController.cs
  32. 1 1
      GameClient/Assets/Game/HotUpdate/Views/DressUp/ArenaDressUpFightView.cs
  33. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs
  34. 3 3
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs
  35. BIN
      GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes
  36. 319 0
      GameClient/Assets/ResIn/Prefab/SceneArena.prefab
  37. 7 0
      GameClient/Assets/ResIn/Prefab/SceneArena.prefab.meta
  38. BIN
      GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes
  39. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png
  40. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png
  41. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png
  42. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png
  43. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  44. 1 1
      GameClient/Assets/Scenes/GameLauncher.unity

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

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920" designImageOffsetX="-397">
-  <controller name="c1" pages="0,,1," selected="1">
+  <controller name="c1" pages="0,,1," selected="0">
     <remark page="0" value="选对手"/>
     <remark page="1" value="展示对手"/>
   </controller>
@@ -64,10 +64,10 @@
     <image id="n50_jcej" name="n50" src="jcej3c" fileName="images/jzsjzs_dian.png" xy="751,1743" group="n49_jcej"/>
     <text id="n16_psph" name="txtRefreshCount" xy="788,1736" size="243,41" group="n49_jcej" font="ui://eg2y0ldpwonotjc" fontSize="30" color="#fbf6ed" align="center" text="免费刷新:10/10"/>
     <component id="n19_psph" name="btnRefresh" src="psph1j" fileName="components/BtnRefresh.xml" xy="1035,1735" group="n49_jcej"/>
-    <component id="n18_psph" name="comCostCurrent" src="n3xha1" fileName="components/ComCostCurrency.xml" pkg="eg2y0ldp" xy="745,1733" size="237,46" group="n49_jcej"/>
+    <component id="n18_psph" name="comCostCurrent" src="jcej3y" fileName="components/ComCostCurrency.xml" xy="788,1733" group="n49_jcej"/>
     <group id="n49_jcej" name="n49" xy="727,1732" size="353,48" group="n20_psph"/>
     <component id="n13_psph" name="btnQuickFight" src="jcejtkk" fileName="components/Button17.xml" pkg="eg2y0ldp" xy="427,1618" group="n20_psph">
-      <Button title="自动战斗"/>
+      <Button title="快速挑战"/>
     </component>
     <component id="n6_psph" name="btnShop" src="psph1g" fileName="components/BtnRecord.xml" xy="87,1720" size="209,61" group="n20_psph" aspect="true">
       <Button title="商店" icon="ui://4lc5fhlbjcej3q"/>

+ 0 - 1
FGUIProject/assets/Arena/components/BtnFight.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="280,82" extention="Button">
-  <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
     <loader id="n4_psph" name="icon" xy="140,41" pivot="0.5,0.5" anchor="true" size="280,82" url="ui://4lc5fhlbpsphk" fill="scaleFree">
       <relation target="" sidePair="width-width,height-height"/>

+ 0 - 1
FGUIProject/assets/Arena/components/BtnRecord.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="280,82" extention="Button">
-  <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
     <loader id="n4_psph" name="icon" xy="140,41" pivot="0.5,0.5" anchor="true" size="280,82" url="ui://4lc5fhlbjcej3e" fill="scaleFree">
       <relation target="" sidePair="width-width,height-height"/>

+ 0 - 1
FGUIProject/assets/Arena/components/BtnRefresh.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="42,42" extention="Button">
-  <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
     <loader id="n4_psph" name="icon" xy="21,21" pivot="0.5,0.5" anchor="true" size="42,42" url="ui://4lc5fhlbjcej34" fill="scaleFree" autoSize="true">
       <relation target="" sidePair="width-width,height-height"/>

+ 0 - 1
FGUIProject/assets/Arena/components/BtnRelect.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="280,82" extention="Button">
-  <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
     <loader id="n4_psph" name="icon" xy="140,41" pivot="0.5,0.5" anchor="true" size="280,82" url="ui://4lc5fhlbpsphk" fill="scaleFree">
       <relation target="" sidePair="width-width,height-height"/>

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

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="202,46">
+  <displayList>
+    <text id="n2_ojlz" name="n2" xy="0,2" size="63,42" group="n7_si5z" font="ui://eg2y0ldpwonotjc" fontSize="30" color="#fbf6ed" text="消耗"/>
+    <loader id="n1_ojlz" name="loaIcon" xy="68,-2" size="50,50" group="n7_si5z" aspect="true" url="ui://eg2y0ldpq08x3" fill="scale"/>
+    <text id="n6_j5a5" name="txtNeed" xy="123,2" size="79,42" group="n7_si5z" font="ui://eg2y0ldpwonotjc" fontSize="30" color="#fbf6ed" align="center" vAlign="middle" ubb="true" autoClearText="true" text="9999"/>
+    <group id="n7_si5z" name="n7" xy="0,-2" size="202,50" advanced="true" layout="hz" colGap="5" excludeInvisibles="true">
+      <relation target="" sidePair="center-center"/>
+    </group>
+  </displayList>
+  <relation target="n7_si5z" sidePair="width-width"/>
+</component>

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

@@ -130,6 +130,7 @@
     <image id="jcej3v" name="dwjl_dedtp.png" path="/images/"/>
     <image id="jcej3w" name="dwjl_btbt.png" path="/images/"/>
     <image id="jcej3x" name="dwjl_ylqylq.png" path="/images/"/>
+    <component id="jcej3y" name="ComCostCurrency.xml" path="/components/"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Arena" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 9 - 9
FGUIProject/assets/CommonGame/components/ComponentValueBar.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,70" opaque="false">
-  <controller name="c1" exported="true" pages="0,,1,,3,,4,,5,,6,,7,,8,,9,,10,,12," selected="0">
+  <controller name="c1" exported="true" pages="0,,1,,3,,4,,5,,6,,7,,8,,9,,10,,12," selected="10">
     <remark page="0" value="体力金币马蹄珍珠"/>
     <remark page="1" value="体力金币马蹄"/>
     <remark page="2" value="抽卡兑换"/>
@@ -14,32 +14,32 @@
     <remark page="10" value="竞技场"/>
   </controller>
   <displayList>
-    <component id="n43_vek8" name="btnCJLuoXing" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="460,0">
+    <component id="n43_vek8" name="btnCJLuoXing" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="460,5">
       <gearDisplay controller="c1" pages="3"/>
       <gearXY controller="c1" pages="0,3" values="460,0|814,0" default="460,5"/>
       <Button title="100" icon="ui://eg2y0ldpq08x4"/>
     </component>
-    <component id="n44_vek8" name="btnCJHuoDong" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="460,0">
+    <component id="n44_vek8" name="btnCJHuoDong" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="460,5">
       <gearDisplay controller="c1" pages="4"/>
       <gearXY controller="c1" pages="0,4" values="460,0|814,0" default="460,5"/>
       <Button title="100" icon="ui://eg2y0ldpq08x4"/>
     </component>
-    <component id="n47_wono" name="btnTravel" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="814,0">
+    <component id="n47_wono" name="btnTravel" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="688,5">
       <gearDisplay controller="c1" pages="8"/>
       <gearXY controller="c1" pages="0,1,5,6,8" values="814,0|684,2|684,2|684,2|814,0" default="688,5"/>
       <Button title="100" icon="ui://eg2y0ldpq08x5"/>
     </component>
-    <component id="n48_r9ri" name="btnGallery" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="814,0">
+    <component id="n48_r9ri" name="btnGallery" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="688,5">
       <gearDisplay controller="c1" pages="9"/>
       <gearXY controller="c1" pages="0,1,3,5,6,8,9" values="814,0|684,2|814,2|684,2|684,2|814,2|814,0" default="688,5"/>
       <Button title="100" icon="ui://eg2y0ldpdhoatk2"/>
     </component>
-    <component id="n38_r9gf" name="btnPower" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="37,0">
+    <component id="n38_r9gf" name="btnPower" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="0,5">
       <gearDisplay controller="c1" pages="0,1"/>
       <gearXY controller="c1" pages="0,1,5" values="37,0|296,0|296,5" default="0,5"/>
       <Button title="100" icon="ui://eg2y0ldpq08x4"/>
     </component>
-    <component id="n46_ighs" name="btnCJ" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="-215,0">
+    <component id="n46_ighs" name="btnCJ" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="460,5">
       <gearDisplay controller="c1" pages="5"/>
       <gearXY controller="c1" pages="0,1,3,5" values="-215,0|1079,5|979,5|296,0" default="460,5"/>
       <Button title="100" icon="ui://eg2y0ldpq08x4"/>
@@ -54,12 +54,12 @@
       <gearXY controller="c1" pages="0,1,3,5,6,10,12" values="555,0|814,0|979,5|555,0|814,0|555,0|555,0" default="460,5"/>
       <Button title="100" icon="ui://eg2y0ldpq08x6"/>
     </component>
-    <component id="n41_r9gf" name="btnDiamondPurple" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="814,0">
+    <component id="n41_r9gf" name="btnDiamondPurple" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="688,5">
       <gearDisplay controller="c1" pages="0,5,10"/>
       <gearXY controller="c1" pages="0,1,3,5,6,8,10" values="814,0|814,2|1207,5|814,0|814,2|688,5|814,0" default="688,5"/>
       <Button title="100" icon="ui://eg2y0ldpq08x5"/>
     </component>
-    <component id="n49_psph" name="btnArena" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="814,0">
+    <component id="n49_psph" name="btnArena" src="r9gf5z" fileName="components/ButtonInValueBar.xml" xy="814,0" controller="c1,1">
       <gearDisplay controller="c1" pages="12"/>
       <gearXY controller="c1" pages="0,1,3,5,6,8,10,12" values="814,0|814,2|1207,5|814,0|814,2|688,5|814,0|814,0" default="688,5"/>
       <Button title="100" icon="ui://eg2y0ldpkztethq"/>

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstStorageId.cs

@@ -13,6 +13,7 @@ namespace GFGGame
         public const int STORAGE_DIALOG_AUTO_PLAY_SPEED = 20005;//剧情对话速度
         public const int LAST_LOGIN_TIME = 20006;//上次登录时间
         public const int STUDIO_FILING_CHAPTERID = 20007;//当前选择的副本id
+        public const int ARENA_QUICK_FIGHT = 20008;//竞技场快速挑战,0不快速挑战,1快速挑战
 
     }
 }

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

@@ -23,7 +23,21 @@ namespace GFGGame
         public int SelectTargetIndex = 0;//当前选中挑战对象的下标
         public int CurFightIndex = 0;//当前挑战的为第几场
 
-
+        /// <summary>
+        /// 是否快速挑战
+        /// </summary>
+        /// <value></value>
+        public bool QuickFight
+        {
+            get
+            {
+                return StorageDataManager.Instance.GetStorageValue(ConstStorageId.ARENA_QUICK_FIGHT) == 1 ? true : false;
+            }
+            set
+            {
+                StorageSProxy.ReqSetClientValue(ConstStorageId.ARENA_QUICK_FIGHT, value == true ? 1 : 0).Coroutine();
+            }
+        }
         public void Clear()
         {
             DressupList.Clear();
@@ -39,10 +53,23 @@ namespace GFGGame
             HighestRank = HighestRank >= Rank ? HighestRank : Rank;
         }
 
-        public void UpdateDanIcon(GLoader loader, int danLv)
+        //获取竞技场对手角色战斗数据
+        public FightRoleData GetArenaRoleData(int index, ArenaTargetData arenaTarget)
         {
-
+            return arenaTarget.RoleDressupList[index];
+        }
+        //获取竞技场机器人战斗数据
+        public FightRobotData GetArenaRobotData(int index, ArenaTargetData arenaTarget)
+        {
+            return arenaTarget.RobotDressupList[index];
         }
+
+        /// <summary>
+        /// 获取推荐列表
+        /// </summary>
+        /// <param name="scoreType"></param>
+        /// <param name="tags"></param>
+        /// <returns></returns>
         public List<int> GetRecommentItemList(int scoreType, string[] tags)
         {
             Dictionary<int, List<int>> itemListDic = new Dictionary<int, List<int>>();
@@ -108,5 +135,82 @@ namespace GFGGame
             });
             return dressList;
         }
+
+
+        /// <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);
+        }
+
+        /// <summary>
+        /// 所有部件主属性和
+        /// </summary>
+        /// <returns></returns>
+        public double GetItemScoreSum(List<int> itemScoreList)
+        {
+            double scoreSum = 0;
+            for (int i = 0; i < itemScoreList.Count; i++)
+            {
+                scoreSum += itemScoreList[i];
+            }
+            return scoreSum;
+
+        }
+        //玩家卓越点击战力
+        private double GetPerfectClickScore(FightRoleData roleData)
+        {
+            double clickScore = 0;
+            foreach (int key in roleData.pardScoreListDic.Keys)
+            {
+                clickScore += ScoreSystemData.Instance.GetPartScore(roleData, key, ClickType.PREFACT_CLICK, 0);
+            }
+            return clickScore;
+        }
+        //机器人卓越点击战力
+        private double GetRobotPerfectClickScore(FightRobotData robotData)
+        {
+            double 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);
+            }
+            return clickScore;
+        }
+
+
     }
 }

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

@@ -13,5 +13,9 @@ namespace GFGGame
             textureDic.Clear();
         }
 
+        public void UpdateDanIcon(GLoader loader, int danLv)
+        {
+
+        }
     }
 }

+ 47 - 131
GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs

@@ -24,6 +24,7 @@ namespace GFGGame
         //         EventAgent.DispatchEvent(ConstMessage.DRESS_UP_SCORE_CHANGED, _score);
         //     }
         // }
+        private FightRoleData _roleData = new FightRoleData();
         public FightRoleData roleData
         {
             get
@@ -183,21 +184,21 @@ namespace GFGGame
         //获取玩家战斗数据
         private FightRoleData GetMyFightRoleData()
         {
-            FightRoleData roleData = new FightRoleData();
-            roleData.name = RoleDataManager.roleName;
-            roleData.headId = RoleDataManager.headId;
-            roleData.headBorderId = RoleDataManager.headBorderId;
-            roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).baseScore;//角色等级分数
+
+            _roleData.name = RoleDataManager.roleName;
+            _roleData.headId = RoleDataManager.headId;
+            _roleData.headBorderId = RoleDataManager.headBorderId;
+            _roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).baseScore;//角色等级分数
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
             {
                 if (ArenaDataManager.Instance.CurFightIndex == 0)
                 {
-                    roleData.tags = new string[1] { ArenaDataManager.Instance.Tag };
+                    _roleData.tags = new string[1] { ArenaDataManager.Instance.Tag };
                 }
-                roleData.scoreType = ArenaDataManager.Instance.DressupList[ArenaDataManager.Instance.CurFightIndex].scoreType;
-                roleData.cardId = ArenaDataManager.Instance.DressupList[ArenaDataManager.Instance.CurFightIndex].cardId;
-                roleData.cardScore = ItemDataManager.GetItemAdditionScore(roleData.cardId, roleData.scoreType, roleData.tags);
-                roleData.itemList = ArenaDataManager.Instance.DressupList[ArenaDataManager.Instance.CurFightIndex].itemList;
+                _roleData.scoreType = ArenaDataManager.Instance.DressupList[ArenaDataManager.Instance.CurFightIndex].scoreType;
+                _roleData.cardId = ArenaDataManager.Instance.DressupList[ArenaDataManager.Instance.CurFightIndex].cardId;
+                _roleData.cardScore = ItemDataManager.GetItemAdditionScore(_roleData.cardId, _roleData.scoreType, _roleData.tags);
+                _roleData.itemList = ArenaDataManager.Instance.DressupList[ArenaDataManager.Instance.CurFightIndex].itemList;
             }
             else
             {
@@ -206,25 +207,25 @@ namespace GFGGame
                 if (!string.IsNullOrEmpty(levelCfg.fightID))
                 {
                     StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-                    roleData.tags = fightCfg.needTagsArr;////本次战斗要求的标签
+                    _roleData.tags = fightCfg.needTagsArr;////本次战斗要求的标签
                 }
-                roleData.scoreType = InstanceZonesDataManager.currentScoreType; //本次战斗的主题
-                roleData.cardId = InstanceZonesDataManager.currentCardId; ;//卡牌id
-                roleData.cardScore = CardDataManager.GetCardDataById(roleData.cardId).scores[roleData.scoreType];//卡牌对应主题的属性分数
-                roleData.itemList = MyDressUpHelper.dressUpObj.itemList;
+                _roleData.scoreType = InstanceZonesDataManager.currentScoreType; //本次战斗的主题
+                _roleData.cardId = InstanceZonesDataManager.currentCardId; ;//卡牌id
+                _roleData.cardScore = CardDataManager.GetCardDataById(_roleData.cardId).scores[_roleData.scoreType];//卡牌对应主题的属性分数
+                _roleData.itemList = MyDressUpHelper.dressUpObj.itemList;
 
             }
-            if (roleData.cardId > 0)
+            if (_roleData.cardId > 0)
             {
-                roleData.skillLvs = SkillDataManager.Instance.GetSkillLvs(roleData.cardId);
+                _roleData.skillLvs = SkillDataManager.Instance.GetSkillLvs(_roleData.cardId);
             }
 
-            for (int i = 0; i < roleData.itemList.Count; i++)
+            for (int i = 0; i < _roleData.itemList.Count; i++)
             {
-                int score = ItemDataManager.GetItemAdditionScore(roleData.itemList[i], roleData.scoreType);
-                roleData.itemScoreList.Add(score);
+                int score = ItemDataManager.GetItemAdditionScore(_roleData.itemList[i], _roleData.scoreType);
+                _roleData.itemScoreList.Add(score);
             }
-            return roleData;
+            return _roleData;
         }
 
         //获取副本机器人战斗数据
@@ -245,16 +246,7 @@ namespace GFGGame
             return robotData;
         }
 
-        //获取竞技场对手角色战斗数据
-        public FightRoleData GetArenaRoleData(int index, ArenaTargetData arenaTarget)
-        {
-            return arenaTarget.RoleDressupList[index];
-        }
-        //获取竞技场机器人战斗数据
-        public FightRobotData GetArenaRobotData(int index, ArenaTargetData arenaTarget)
-        {
-            return arenaTarget.RobotDressupList[index];
-        }
+
 
         /// <summary>
         /// 0失败1优秀2完美
@@ -316,6 +308,30 @@ namespace GFGGame
         }
 
         /// <summary>
+        /// 获取技能战力
+        /// </summary>
+        /// <param name="itemScoreSum"></param>
+        /// <param name="baseScore"></param>
+        /// <param name="cardId"></param>
+        /// <param name="cardScore"></param>
+        /// <param name="skillLvs"></param>
+        /// <returns></returns>
+        public double GetSkillFightScore(double itemScoreSum, int baseScore, int cardId, int cardScore, List<int> skillLvs)
+        {
+            // double itemSum = itemScoreSum;
+            double skillScore = 0;
+            double skillBaseScore = itemScoreSum + cardScore + baseScore;
+            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            for (int j = 0; j < skillCfgs.Count; j++)
+            {
+                PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLvs[j], skillCfgs[j].skillId);
+                if (skillLvlCfg == null) continue;
+                skillScore += skillBaseScore * skillLvlCfg.fightPowerParam / 10000;
+            }
+            return skillScore;
+        }
+
+        /// <summary>
         /// 获取快速挑战结果
         /// </summary>
         /// <param name="myRoleData"></param>
@@ -397,106 +413,6 @@ namespace GFGGame
 
         }
 
-        /// <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;
-
-            double itemSum = GetItemScoreSum(roleDatas.itemScoreList);
-            double clickScore = GetPerfectClickScore(roleDatas) / ConstScoreSystem.PART_SCORE;
-            double skillScore = 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 = GetSkillFightScore(itemSum, robotData.baseScore, robotData.cardId, robotData.cardScore, robotData.skillLvs);
-            fightScore = itemSum + clickScore + skillScore;
-
-            return (int)Math.Ceiling(fightScore);
-        }
-
-        /// <summary>
-        /// 所有部件主属性和
-        /// </summary>
-        /// <returns></returns>
-        public double GetItemScoreSum(List<int> itemScoreList)
-        {
-            double scoreSum = 0;
-            for (int i = 0; i < itemScoreList.Count; i++)
-            {
-                scoreSum += itemScoreList[i];
-            }
-            return scoreSum;
-
-        }
-        //玩家卓越点击战力
-        private double GetPerfectClickScore(FightRoleData roleData)
-        {
-            double clickScore = 0;
-            foreach (int key in roleData.pardScoreListDic.Keys)
-            {
-                clickScore += ScoreSystemData.Instance.GetPartScore(roleData, key, ClickType.PREFACT_CLICK, 0);
-            }
-            return clickScore;
-        }
-        //机器人卓越点击战力
-        private double GetRobotPerfectClickScore(FightRobotData robotData)
-        {
-            double 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);
-            }
-            return clickScore;
-        }
 
-        public double GetSkillFightScore(double itemScoreSum, int baseScore, int cardId, int cardScore, List<int> skillLvs)
-        {
-            // double itemSum = itemScoreSum;
-            double skillScore = 0;
-            double skillBaseScore = itemScoreSum + cardScore + baseScore;
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
-            for (int j = 0; j < skillCfgs.Count; j++)
-            {
-                PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLvs[j], skillCfgs[j].skillId);
-                if (skillLvlCfg == null) continue;
-                skillScore += skillBaseScore * skillLvlCfg.fightPowerParam / 10000;
-            }
-            return skillScore;
-        }
-        // private double GetRobotSkillFightScore(FightRobotData robotData)
-        // {
-        //     double itemSum = GetItemScoreSum(robotData.itemScoreList);
-        //     double skillScore = 0;
-        //     double skillBaseScore = itemSum + robotData.cardScore + robotData.baseScore;
-        //     List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(robotData.cardId);
-        //     for (int j = 0; j < skillCfgs.Count; j++)
-        //     {
-        //         PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(robotData.skillLvs[j], skillCfgs[j].skillId);
-        //         if (skillLvlCfg == null) continue;
-        //         skillScore += skillBaseScore * skillLvlCfg.fightPowerParam / 10000;
-        //     }
-        //     return skillScore;
-        // }
     }
 }

+ 44 - 1
GameClient/Assets/Game/HotUpdate/Data/RoleDataManager.cs

@@ -91,7 +91,50 @@ namespace GFGGame
                 return GameGlobal.myNumericComponent.GetAsInt(NumericType.Liveness);
             }
         }
-
+        /// <summary>
+        /// 今日竞技场可挑战次数
+        /// </summary>
+        /// <value></value>
+        public static int ArenaFightTimes
+        {
+            get
+            {
+                return GameGlobal.myNumericComponent.GetAsInt(NumericType.ArenaFightTimes);
+            }
+        }
+        /// <summary>
+        /// 今日竞技场可购买挑战的次数
+        /// </summary>
+        /// <value></value>
+        public static int ArenaBuyFightTimes
+        {
+            get
+            {
+                return GameGlobal.myNumericComponent.GetAsInt(NumericType.ArenaBuyFightTimes);
+            }
+        }
+        /// <summary>
+        /// 今日竞技场可刷新次数
+        /// </summary>
+        /// <value></value>
+        public static int ArenaFreshTimes
+        {
+            get
+            {
+                return GameGlobal.myNumericComponent.GetAsInt(NumericType.ArenaFreshTimes);
+            }
+        }
+        /// <summary>
+        /// 今日竞技场可获取特殊奖励的次数
+        /// </summary>
+        /// <value></value>
+        public static int ArenaTimesBonusSpecial
+        {
+            get
+            {
+                return GameGlobal.myNumericComponent.GetAsInt(NumericType.ArenaTimesBonusSpecial);
+            }
+        }
 
         public static bool CheckPowerFull()
         {

+ 19 - 26
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ArenaUI.cs

@@ -18,8 +18,8 @@ namespace UI.Arena
         public GTextField m_txtTime;
         public GButton m_btnRule;
         public GGroup m_gtpTop;
-        public UI_BtnRelect m_btnReSelect;
-        public UI_BtnFight m_btnFight;
+        public GButton m_btnReSelect;
+        public GButton m_btnFight;
         public GList m_listTarget;
         public GLoader m_loaDanIcon;
         public GTextField m_txtName;
@@ -28,17 +28,17 @@ namespace UI.Arena
         public GTextField m_txtFightScore;
         public GButton m_btnFightScoreRule;
         public GTextField m_txtMoneyCount;
-        public UI_BtnRefresh m_btnAddFightCount;
+        public GButton m_btnAddFightCount;
         public GTextField m_txtFightCount;
         public GTextField m_txtRefreshCount;
-        public UI_BtnRefresh m_btnRefresh;
-        public GComponent m_comCostCurrent;
+        public GButton m_btnRefresh;
+        public UI_ComCostCurrency m_comCostCurrent;
         public GButton m_btnQuickFight;
-        public UI_BtnRecord m_btnShop;
+        public GButton m_btnShop;
         public GButton m_btnDress;
-        public UI_BtnRecord m_btnReward;
-        public UI_BtnRecord m_btnRank;
-        public UI_BtnRecord m_btnRecord;
+        public GButton m_btnReward;
+        public GButton m_btnRank;
+        public GButton m_btnRecord;
         public GGroup m_grpBottom;
         public const string URL = "ui://4lc5fhlbpsph0";
         public const string PACKAGE_NAME = "Arena";
@@ -98,8 +98,8 @@ namespace UI.Arena
             m_txtTime = (GTextField)comp.GetChild("txtTime");
             m_btnRule = (GButton)comp.GetChild("btnRule");
             m_gtpTop = (GGroup)comp.GetChild("gtpTop");
-            m_btnReSelect = (UI_BtnRelect)UI_BtnRelect.Create(comp.GetChild("btnReSelect"));
-            m_btnFight = (UI_BtnFight)UI_BtnFight.Create(comp.GetChild("btnFight"));
+            m_btnReSelect = (GButton)comp.GetChild("btnReSelect");
+            m_btnFight = (GButton)comp.GetChild("btnFight");
             m_listTarget = (GList)comp.GetChild("listTarget");
             m_loaDanIcon = (GLoader)comp.GetChild("loaDanIcon");
             m_txtName = (GTextField)comp.GetChild("txtName");
@@ -108,17 +108,17 @@ namespace UI.Arena
             m_txtFightScore = (GTextField)comp.GetChild("txtFightScore");
             m_btnFightScoreRule = (GButton)comp.GetChild("btnFightScoreRule");
             m_txtMoneyCount = (GTextField)comp.GetChild("txtMoneyCount");
-            m_btnAddFightCount = (UI_BtnRefresh)UI_BtnRefresh.Create(comp.GetChild("btnAddFightCount"));
+            m_btnAddFightCount = (GButton)comp.GetChild("btnAddFightCount");
             m_txtFightCount = (GTextField)comp.GetChild("txtFightCount");
             m_txtRefreshCount = (GTextField)comp.GetChild("txtRefreshCount");
-            m_btnRefresh = (UI_BtnRefresh)UI_BtnRefresh.Create(comp.GetChild("btnRefresh"));
-            m_comCostCurrent = (GComponent)comp.GetChild("comCostCurrent");
+            m_btnRefresh = (GButton)comp.GetChild("btnRefresh");
+            m_comCostCurrent = (UI_ComCostCurrency)UI_ComCostCurrency.Create(comp.GetChild("comCostCurrent"));
             m_btnQuickFight = (GButton)comp.GetChild("btnQuickFight");
-            m_btnShop = (UI_BtnRecord)UI_BtnRecord.Create(comp.GetChild("btnShop"));
+            m_btnShop = (GButton)comp.GetChild("btnShop");
             m_btnDress = (GButton)comp.GetChild("btnDress");
-            m_btnReward = (UI_BtnRecord)UI_BtnRecord.Create(comp.GetChild("btnReward"));
-            m_btnRank = (UI_BtnRecord)UI_BtnRecord.Create(comp.GetChild("btnRank"));
-            m_btnRecord = (UI_BtnRecord)UI_BtnRecord.Create(comp.GetChild("btnRecord"));
+            m_btnReward = (GButton)comp.GetChild("btnReward");
+            m_btnRank = (GButton)comp.GetChild("btnRank");
+            m_btnRecord = (GButton)comp.GetChild("btnRecord");
             m_grpBottom = (GGroup)comp.GetChild("grpBottom");
         }
         public void Dispose(bool disposeTarget = false)
@@ -134,9 +134,7 @@ namespace UI.Arena
             m_txtTime = null;
             m_btnRule = null;
             m_gtpTop = null;
-            m_btnReSelect.Dispose();
             m_btnReSelect = null;
-            m_btnFight.Dispose();
             m_btnFight = null;
             m_listTarget = null;
             m_loaDanIcon = null;
@@ -146,22 +144,17 @@ namespace UI.Arena
             m_txtFightScore = null;
             m_btnFightScoreRule = null;
             m_txtMoneyCount = null;
-            m_btnAddFightCount.Dispose();
             m_btnAddFightCount = null;
             m_txtFightCount = null;
             m_txtRefreshCount = null;
-            m_btnRefresh.Dispose();
             m_btnRefresh = null;
+            m_comCostCurrent.Dispose();
             m_comCostCurrent = null;
             m_btnQuickFight = null;
-            m_btnShop.Dispose();
             m_btnShop = null;
             m_btnDress = null;
-            m_btnReward.Dispose();
             m_btnReward = null;
-            m_btnRank.Dispose();
             m_btnRank = null;
-            m_btnRecord.Dispose();
             m_btnRecord = null;
             m_grpBottom = null;
             if(disposeTarget && target != null)

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

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

+ 0 - 71
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRecord.cs

@@ -1,71 +0,0 @@
-/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
-
-using FairyGUI;
-
-namespace UI.Arena
-{
-    public partial class UI_BtnRecord
-    {
-        public GButton target;
-        public Controller m_c1;
-        public const string URL = "ui://4lc5fhlbpsph1g";
-        public const string PACKAGE_NAME = "Arena";
-        public const string RES_NAME = "BtnRecord";
-        private static UI_BtnRecord _proxy;
-
-        public static UI_BtnRecord Create(GObject gObject = null)
-        {
-            var ui = new UI_BtnRecord();
-            if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
-            else
-            	ui.target =  (GButton)gObject;
-            ui.Init(ui.target);
-            return ui;
-        }
-
-        public static UI_BtnRecord Proxy(GObject gObject = null)
-        {
-            if(_proxy == null)
-            {
-                _proxy = new UI_BtnRecord();
-            }
-            var ui = _proxy;
-            if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
-            else
-            	ui.target =  (GButton)gObject;
-            ui.Init(ui.target);
-            return ui;
-        }
-
-        public static void ProxyEnd()
-        {
-            if (_proxy != null)
-            {
-                _proxy.Dispose();
-            }
-        }
-
-        public static void ClearProxy()
-        {
-            ProxyEnd();
-            _proxy = null;
-        }
-
-        private void Init(GComponent comp)
-        {
-            m_c1 = comp.GetController("c1");
-        }
-        public void Dispose(bool disposeTarget = false)
-        {
-            m_c1 = null;
-            if(disposeTarget && target != null)
-            {
-                target.RemoveFromParent();
-                target.Dispose();
-            }
-            target = null;
-        }
-    }
-}

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

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

+ 0 - 71
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRefresh.cs

@@ -1,71 +0,0 @@
-/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
-
-using FairyGUI;
-
-namespace UI.Arena
-{
-    public partial class UI_BtnRefresh
-    {
-        public GButton target;
-        public Controller m_c1;
-        public const string URL = "ui://4lc5fhlbpsph1j";
-        public const string PACKAGE_NAME = "Arena";
-        public const string RES_NAME = "BtnRefresh";
-        private static UI_BtnRefresh _proxy;
-
-        public static UI_BtnRefresh Create(GObject gObject = null)
-        {
-            var ui = new UI_BtnRefresh();
-            if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
-            else
-            	ui.target =  (GButton)gObject;
-            ui.Init(ui.target);
-            return ui;
-        }
-
-        public static UI_BtnRefresh Proxy(GObject gObject = null)
-        {
-            if(_proxy == null)
-            {
-                _proxy = new UI_BtnRefresh();
-            }
-            var ui = _proxy;
-            if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
-            else
-            	ui.target =  (GButton)gObject;
-            ui.Init(ui.target);
-            return ui;
-        }
-
-        public static void ProxyEnd()
-        {
-            if (_proxy != null)
-            {
-                _proxy.Dispose();
-            }
-        }
-
-        public static void ClearProxy()
-        {
-            ProxyEnd();
-            _proxy = null;
-        }
-
-        private void Init(GComponent comp)
-        {
-            m_c1 = comp.GetController("c1");
-        }
-        public void Dispose(bool disposeTarget = false)
-        {
-            m_c1 = null;
-            if(disposeTarget && target != null)
-            {
-                target.RemoveFromParent();
-                target.Dispose();
-            }
-            target = null;
-        }
-    }
-}

+ 0 - 71
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRelect.cs

@@ -1,71 +0,0 @@
-/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
-
-using FairyGUI;
-
-namespace UI.Arena
-{
-    public partial class UI_BtnRelect
-    {
-        public GButton target;
-        public Controller m_c1;
-        public const string URL = "ui://4lc5fhlbpsph1k";
-        public const string PACKAGE_NAME = "Arena";
-        public const string RES_NAME = "BtnRelect";
-        private static UI_BtnRelect _proxy;
-
-        public static UI_BtnRelect Create(GObject gObject = null)
-        {
-            var ui = new UI_BtnRelect();
-            if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
-            else
-            	ui.target =  (GButton)gObject;
-            ui.Init(ui.target);
-            return ui;
-        }
-
-        public static UI_BtnRelect Proxy(GObject gObject = null)
-        {
-            if(_proxy == null)
-            {
-                _proxy = new UI_BtnRelect();
-            }
-            var ui = _proxy;
-            if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
-            else
-            	ui.target =  (GButton)gObject;
-            ui.Init(ui.target);
-            return ui;
-        }
-
-        public static void ProxyEnd()
-        {
-            if (_proxy != null)
-            {
-                _proxy.Dispose();
-            }
-        }
-
-        public static void ClearProxy()
-        {
-            ProxyEnd();
-            _proxy = null;
-        }
-
-        private void Init(GComponent comp)
-        {
-            m_c1 = comp.GetController("c1");
-        }
-        public void Dispose(bool disposeTarget = false)
-        {
-            m_c1 = null;
-            if(disposeTarget && target != null)
-            {
-                target.RemoveFromParent();
-                target.Dispose();
-            }
-            target = null;
-        }
-    }
-}

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

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

+ 19 - 16
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnFight.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ComCostCurrency.cs

@@ -4,37 +4,38 @@ using FairyGUI;
 
 namespace UI.Arena
 {
-    public partial class UI_BtnFight
+    public partial class UI_ComCostCurrency
     {
-        public GButton target;
-        public Controller m_c1;
-        public const string URL = "ui://4lc5fhlbpsph1l";
+        public GComponent target;
+        public GLoader m_loaIcon;
+        public GTextField m_txtNeed;
+        public const string URL = "ui://4lc5fhlbjcej3y";
         public const string PACKAGE_NAME = "Arena";
-        public const string RES_NAME = "BtnFight";
-        private static UI_BtnFight _proxy;
+        public const string RES_NAME = "ComCostCurrency";
+        private static UI_ComCostCurrency _proxy;
 
-        public static UI_BtnFight Create(GObject gObject = null)
+        public static UI_ComCostCurrency Create(GObject gObject = null)
         {
-            var ui = new UI_BtnFight();
+            var ui = new UI_ComCostCurrency();
             if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
-            	ui.target =  (GButton)gObject;
+            	ui.target =  (GComponent)gObject;
             ui.Init(ui.target);
             return ui;
         }
 
-        public static UI_BtnFight Proxy(GObject gObject = null)
+        public static UI_ComCostCurrency Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_BtnFight();
+                _proxy = new UI_ComCostCurrency();
             }
             var ui = _proxy;
             if(gObject == null)
-            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
-            	ui.target =  (GButton)gObject;
+            	ui.target =  (GComponent)gObject;
             ui.Init(ui.target);
             return ui;
         }
@@ -55,11 +56,13 @@ namespace UI.Arena
 
         private void Init(GComponent comp)
         {
-            m_c1 = comp.GetController("c1");
+            m_loaIcon = (GLoader)comp.GetChild("loaIcon");
+            m_txtNeed = (GTextField)comp.GetChild("txtNeed");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_c1 = null;
+            m_loaIcon = null;
+            m_txtNeed = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_BtnRefresh.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ComCostCurrency.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: a464374fbbd18914a8c319b5890c5eb4
+guid: f37fee4d67d6ae248b17981e1e0d6021
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHead.cs

@@ -7,6 +7,7 @@ namespace UI.CommonGame
     public partial class UI_ComHead
     {
         public GComponent target;
+        public Controller m_c1;
         public UI_ComHeadIcon m_comHead;
         public GLoader m_loaBorder;
         public const string URL = "ui://eg2y0ldpr9ri1h";
@@ -56,11 +57,13 @@ namespace UI.CommonGame
 
         private void Init(GComponent comp)
         {
+            m_c1 = comp.GetController("c1");
             m_comHead = (UI_ComHeadIcon)UI_ComHeadIcon.Create(comp.GetChild("comHead"));
             m_loaBorder = (GLoader)comp.GetChild("loaBorder");
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_c1 = null;
             m_comHead.Dispose();
             m_comHead = null;
             m_loaBorder = null;

+ 11 - 4
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -61,7 +61,7 @@ namespace GFGGame
             }
         }
         //刷新竞争对手
-        public static async ETTask ReqRefreshArenaTargets()
+        public static async ETTask<bool> ReqRefreshArenaTargets()
         {
             S2C_RefreshArenaTargets response = null;
             response = (S2C_RefreshArenaTargets)await MessageHelper.SendToServer(new C2S_RefreshArenaTargets());
@@ -73,9 +73,16 @@ namespace GFGGame
                     for (int i = 0; i < response.targets.Count; i++)
                     {
                         ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.targets[i]));
+                        if (response.targets[i].Type == ArenaFightTargetType.PLAYER)
+                        {
+                            await ReqArenaFightAttr(response.targets[i].RoleInfo.RoleId, ArenaDataManager.Instance.Targets[i].RoleDressupList);
+                        }
                     }
+                    PromptController.Instance.ShowFloatTextPrompt("刷新成功");
+                    return true;
                 }
             }
+            return false;
         }
 
         //更换搭配
@@ -106,12 +113,12 @@ namespace GFGGame
         {
 
             S2C_BuyArenaFightTimes response = null;
-            response = (S2C_BuyArenaFightTimes)await MessageHelper.SendToServer(new C2S_BuyArenaFightTimes());
+            response = (S2C_BuyArenaFightTimes)await MessageHelper.SendToServer(new C2S_BuyArenaFightTimes() { Times = times });
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-
+                    PromptController.Instance.ShowFloatTextPrompt("购买成功");
                 }
             }
         }
@@ -190,7 +197,7 @@ namespace GFGGame
         }
 
         //获取对手服装属性
-        public static async ETTask ReqArenaFightAttr(int roleId, List<FightRoleData> list)
+        public static async ETTask ReqArenaFightAttr(long roleId, List<FightRoleData> list)
         {
             S2C_ArenaFightAttr response = null;
             response = (S2C_ArenaFightAttr)await MessageHelper.SendToServer(new C2S_ArenaFightAttr() { TargetRoleId = roleId });

+ 9 - 0
GameClient/Assets/Game/HotUpdate/Utils/ItemUtil.cs

@@ -245,5 +245,14 @@ namespace GFGGame
             com.m_loaIcon.url = ResPathUtil.GetCommonGameResPath(cfg.res);
             UI_ComCostCurrency.ProxyEnd();
         }
+
+        public static void UpdateTag(GObject obj, string tag)
+        {
+            UI_ComTag item = UI_ComTag.Proxy(obj);
+            int tagType = TagCfgArray.Instance.GetCfg(tag).type;
+            item.m_txtTag.text = tag;
+            item.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tagType);
+            UI_ComTag.ProxyEnd();
+        }
     }
 }

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs

@@ -24,6 +24,10 @@ namespace GFGGame
         {
             return $"{UI_DIR_PATH}/{res}/{res}";
         }
+        public static string GetScorePath(int score)
+        {
+            return GetCommonGameResPath("kp_sx_" + score);
+        }
         public static string GetCommonGameResPath(string res)
         {
             return "ui://CommonGame/" + res;

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

@@ -5,7 +5,7 @@ using UnityEngine;
 
 namespace GFGGame
 {
-    public class ArenaDanReward : BaseWindow
+    public class ArenaDanRewardView : BaseWindow
     {
         private UI_ArenaDanRewardUI _ui;
 
@@ -44,7 +44,7 @@ namespace GFGGame
 
             _ui.m_comMyDanReward.m_listReward.itemRenderer = RenderListRewardItem;
             _ui.m_comMyDanReward.m_listReward.numItems = 0;
-            ArenaDataManager.Instance.UpdateDanIcon(_ui.m_comMyDanReward.m_loaDanIcon, 2);
+            ArenaViewManager.Instance.UpdateDanIcon(_ui.m_comMyDanReward.m_loaDanIcon, 2);
 
         }
 

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

@@ -46,7 +46,7 @@ namespace GFGGame
             _ui.m_txtDanTitle.text = cfg.gradeName;
             _ui.m_listFirstDanReward.numItems = cfg.bonusUpgradeArr.Length;
 
-            ArenaDataManager.Instance.UpdateDanIcon(_ui.m_loaDanIcon, cfg.id);
+            ArenaViewManager.Instance.UpdateDanIcon(_ui.m_loaDanIcon, cfg.id);
         }
 
         protected override void OnHide()

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

@@ -144,17 +144,13 @@ 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 = FightDataManager.Instance.GetArenaRoleFightScore(_roleDatas[_themeIndex]).ToString();
+            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetArenaRoleFightScore(_roleDatas[_themeIndex]).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);
             if (_tags.Length > 0)
             {
-                UI_ComTag item = UI_ComTag.Proxy(comValueInfo.m_comTag);
-                int tagType = TagCfgArray.Instance.GetCfg(_tags[0]).type;
-                item.m_txtTag.text = _tags[0];
-                item.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tagType);
-                UI_ComTag.ProxyEnd();
+                ItemUtil.UpdateTag(comValueInfo.m_comTag, _tags[0]);
             }
             UI_ComValueInfo.ProxyEnd();
         }
@@ -163,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 = FightDataManager.Instance.GetArenaRobotFightScore(_robotDatas[_themeIndex]).ToString();
+            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetArenaRobotFightScore(_robotDatas[_themeIndex]).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);

+ 197 - 1
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs

@@ -8,9 +8,26 @@ namespace GFGGame
     public class ArenaView : BaseWindow
     {
         private UI_ArenaUI _ui;
+        private GameObject _scenePrefab;
+        private GameObject _sceneObject;
+        private DressUpObj _targetDressUpObj;
+        private ValueBarController _valueBarController;
+
+        private ArenaTargetData _targetData;
+        private ArenaOpenCfg _arenaCfg;
 
         public override void Dispose()
         {
+            if (_sceneObject != null)
+            {
+                GameObject.Destroy(_sceneObject);
+                _sceneObject = null;
+            }
+            if (_valueBarController != null)
+            {
+                _valueBarController.Dispose();
+                _valueBarController = null;
+            }
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -27,6 +44,24 @@ namespace GFGGame
             this.viewCom = _ui.target;
             isfullScreen = true;
 
+            _valueBarController = new ValueBarController(_ui.m_valueBar);
+
+            _targetDressUpObj = new DressUpObj();
+            _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneArena"));
+
+            _ui.m_btnBack.onClick.Add(OnBtnBackClick);
+            _ui.m_btnShop.onClick.Add(OnBtnShopClick);
+            _ui.m_btnReward.onClick.Add(OnBtnRewardClick);
+            _ui.m_btnRank.onClick.Add(OnBtnRankClick);
+            _ui.m_btnRecord.onClick.Add(OnBtnRecordClick);
+            _ui.m_btnAddFightCount.onClick.Add(OnBtnAddFightCountClick);
+            _ui.m_btnRefresh.onClick.Add(OnBtnRefreshClick);
+            _ui.m_btnDress.onClick.Add(OnBtnDressClick);
+            _ui.m_btnQuickFight.onClick.Add(OnBtnQuickFightClick);
+            _ui.m_btnReSelect.onClick.Add(OnBtnReSelectClick);
+            _ui.m_btnFight.onClick.Add(OnBtnFightClick);
+
+            _ui.m_listTarget.itemRenderer = RenderListTargetItem;
             // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
         }
         protected override void AddEventListener()
@@ -37,12 +72,20 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            _targetData = this.viewData == null ? null : (this.viewData as object[])[0] as ArenaTargetData;
+
+            _arenaCfg = ArenaOpenCfgArray.Instance.GetCfg(ArenaDataManager.Instance.SeasonId);
+
+            _valueBarController.OnShown();
+            UpdateNormal();
+            UpdateValue();
+            UpdateRole();
         }
 
         protected override void OnHide()
         {
             base.OnHide();
-
+            _valueBarController.OnHide();
         }
 
         protected override void RemoveEventListener()
@@ -50,6 +93,159 @@ namespace GFGGame
             base.RemoveEventListener();
 
         }
+        private void OnBtnBackClick()
+        {
+            ViewManager.GoBackFrom(typeof(ArenaView).FullName);
+        }
+        private void OnBtnShopClick()
+        {
+            ViewManager.Show<RechargeStoreView>();
+        }
+        private void OnBtnRewardClick()
+        {
+            ViewManager.Show<ArenaDanRewardView>();
+        }
+        private void OnBtnRankClick()
+        {
+            ViewManager.Show<ArenaRankView>();
+        }
+        private void OnBtnRecordClick()
+        {
+            ViewManager.Show<ArenaFightRecordView>();
+        }
+        private void OnBtnAddFightCountClick()
+        {
+            if (RoleDataManager.ArenaBuyFightTimes == 0)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("今日次数购买已达上限");
+                return;
+            }
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.costIdBuyFightTimes);
+            AlertUI.Show(string.Format("是否使用{0}{1}增加1次竞技场挑战次数?", GlobalCfgArray.globalCfg.costNumBuyFightTimes, itemCfg.name),
+            string.Format("(今天已购买{0}/{1}次)", GlobalCfgArray.globalCfg.limitDailyBuyFightTimes - RoleDataManager.ArenaBuyFightTimes, GlobalCfgArray.globalCfg.limitDailyBuyFightTimes))
+            .SetLeftButton(true, "取消").SetRightButton(true, "确定", (object data) =>
+            {
+                ArenaSproxy.ReqBuyArenaFightTimes(1).Coroutine();
+            });
+        }
+        private async void OnBtnRefreshClick()
+        {
+            bool result = await ArenaSproxy.ReqRefreshArenaTargets();
+            if (result)
+            {
+                _ui.m_listTarget.numItems = ArenaDataManager.Instance.Targets.Count;
+            }
+        }
+        private void OnBtnDressClick()
+        {
+            ViewManager.Show<ArenaDressInfoView>(new object[] { FightRoleType.MINE, 0, FightDataManager.Instance.roleData, null }, new object[] { typeof(ArenaView).FullName, _targetData });
+        }
+
+        private void OnBtnQuickFightClick()
+        {
+            ArenaDataManager.Instance.QuickFight = _ui.m_btnQuickFight.selected;
+        }
+        private void OnBtnReSelectClick()
+        {
+            _targetData = null;
+            _ui.m_c1.selectedIndex = 0;
+        }
+
+        private void OnBtnFightClick()
+        {
+            InstanceZonesDataManager.FightScene = ConstInstanceZonesType.Arena;
+            ArenaDataManager.Instance.CurFightIndex = 0;
+            if (_ui.m_btnQuickFight.selected)
+            {
+                for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
+                {
+                    if (_targetData.Type == ArenaFightTargetType.PLAYER)
+                    {
+                        FightDataManager.Instance.GetQuickFightResult(FightDataManager.Instance.roleData, _targetData.Type, _targetData.RoleDressupList[i], null, out int score, out int targetScore);
+                    }
+                    else
+                    {
+                        FightDataManager.Instance.GetQuickFightResult(FightDataManager.Instance.roleData, _targetData.Type, null, _targetData.RobotDressupList[i], out int score, out int targetScore);
+                    }
+                }
+            }
+            else
+            {
+                ViewManager.Show<StoryFightTargetView>();
+            }
+        }
+        private void UpdateNormal()
+        {
+            ItemUtil.UpdateTag(_ui.m_comTag, ArenaDataManager.Instance.Tag);
+            _ui.m_loaScore0.url = ResPathUtil.GetScorePath(ArenaDataManager.Instance.ThemeList[0]);
+            _ui.m_loaScore1.url = ResPathUtil.GetScorePath(ArenaDataManager.Instance.ThemeList[1]);
+            _ui.m_loaScore2.url = ResPathUtil.GetScorePath(ArenaDataManager.Instance.ThemeList[2]);
+            string openTime = TimeUtil.FormattingTime3(TimeUtil.DateTimeToTimestamp(_arenaCfg.openTime));
+            string endTime = TimeUtil.FormattingTime3(TimeUtil.DateTimeToTimestamp(_arenaCfg.endTime));
+            _ui.m_txtTime.text = string.Format("{0}/{1}", openTime, endTime);
+            _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);
+            }
+            _ui.m_txtFightScore.text = string.Format("竞技场战力:{0}", fightScore);
+            _ui.m_btnQuickFight.selected = ArenaDataManager.Instance.QuickFight;
+            _ui.m_c1.selectedIndex = _targetData == null ? 0 : 1;
+        }
+
+
+        private void UpdateValue()
+        {
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]);
+            _ui.m_txtMoneyCount.text = string.Format("今日还可获得{0}次{1}货币", RoleDataManager.ArenaTimesBonusSpecial, itemCfg.name);
+            _ui.m_txtFightCount.text = string.Format("剩余次数:{0}/{1}", RoleDataManager.ArenaFightTimes, GlobalCfgArray.globalCfg.fightTimesLimit);
+            if (RoleDataManager.ArenaFreshTimes > 0)
+            {
+                _ui.m_comCostCurrent.target.visible = false;
+                _ui.m_txtRefreshCount.visible = true;
+                _ui.m_txtRefreshCount.text = string.Format("免费刷新:{0}/{1}", RoleDataManager.ArenaFreshTimes, GlobalCfgArray.globalCfg.freshTimesDaily);
+            }
+            else
+            {
+                _ui.m_txtRefreshCount.visible = false;
+                _ui.m_comCostCurrent.target.visible = true;
+                ItemUtil.SetItemNeedNum(_ui.m_comCostCurrent.target, GlobalCfgArray.globalCfg.costIdBuyFreshTimes, GlobalCfgArray.globalCfg.costNumBuyFreshTimes);
+            }
+        }
+
+        private void UpdateRole()
+        {
+            if (_sceneObject == null)
+            {
+                _sceneObject = GameObject.Instantiate(_scenePrefab);
+
+                GameObject mySceneObj = _sceneObject.transform.Find("MyRole").gameObject;
+                MyDressUpHelper.dressUpObj.setSceneObj(mySceneObj, false, false);
+
+                GameObject targetSceneObj = _sceneObject.transform.Find("TargetRole").gameObject;
+                _targetDressUpObj.setSceneObj(targetSceneObj, false, false);
+            }
+            MyDressUpHelper.dressUpObj.PutOnItemList(ArenaDataManager.Instance.DressupList[0].itemList);
+            if (_ui.m_c1.selectedIndex == 1)
+            {
+                if (_targetData.Type == ArenaFightTargetType.PLAYER)
+                {
+                    _targetDressUpObj.PutOnItemList(_targetData.RoleDressupList[0].itemList);
+                }
+                else
+                {
+                    _targetDressUpObj.PutOnSuitCfg(_targetData.RobotDressupList[0].showSuitId, false);
+                }
+            }
+        }
+
+        private void RenderListTargetItem(int index, GObject obj)
+        {
+
+        }
 
 
     }

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

@@ -63,6 +63,7 @@ namespace GFGGame
             {
                 ViewManager.Show<PoemGalleryRuleView>();
             });
+
         }
 
         public void Dispose()
@@ -77,13 +78,8 @@ namespace GFGGame
 
         public void OnShown()
         {
-            UpdateCurrency();
             UpdateNumeric();
-            UpdateCJExchange();
-            UpdateCJAExchange();
-            UpdateCJ();
-            UpdateTravel();
-            UpdateGallery();
+            UpdateItem();
             EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateNumeric);
             EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdateItem);
         }
@@ -106,6 +102,7 @@ namespace GFGGame
             UpdateCJ();
             UpdateTravel();
             UpdateGallery();
+            UpdateArena();
         }
         private void UpdateCurrency()
         {
@@ -115,12 +112,7 @@ namespace GFGGame
         }
         private void UpdateNumeric()
         {
-            // _valueBar.m_btnGold.text = "" + RoleDataManager.gold; //GameGlobal.myNumericComponent.GetAsInt(NumericType.Gold);
             _valueBar.m_btnPower.text = string.Format("{0}/{1}", RoleDataManager.power, GameGlobal.myNumericComponent.GetAsInt(NumericType.PowerLimit));
-            // _valueBar.m_btnDiamondPurple.text = "" + RoleDataManager.diaP;// GameGlobal.myNumericComponent.GetAsInt(NumericType.DiamondP);
-            // _valueBar.m_btnDiamondRed.text = "" + RoleDataManager.diaR;// GameGlobal.myNumericComponent.GetAsInt(NumericType.DiamondR);
-
-
         }
 
         //ժ�ǣ��齱���һ�
@@ -155,7 +147,12 @@ namespace GFGGame
         {
             _valueBar.m_btnGallery.text = "" + ItemDataManager.GetItemNum(ConstItemID.GALLERY_STORE_COST);
             _valueBar.m_btnGallery.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.GALLERY_STORE_COST).res);
-
+        }
+        private void UpdateArena()
+        {
+            _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);
         }
     }
 }

+ 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 = FightDataManager.Instance.GetArenaRoleFightScore(_roleData).ToString();
+            comValueInfo.m_txtFightScore.text = ArenaDataManager.Instance.GetArenaRoleFightScore(_roleData).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);

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

@@ -102,7 +102,7 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            roleData = FightDataManager.Instance.GetMyFightRoleData();
+            roleData = FightDataManager.Instance.roleData;
             ScoreSystemData.Instance.SetEquipScoresWithPartId(roleData);
 
             _nTexture = new NTexture(FightDataManager.Instance.RoleTextuex);

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

@@ -59,7 +59,7 @@ namespace GFGGame
             MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, true);
             MyDressUpHelper.dressUpObj.UpdateRoleView();
 
-            FightRoleData roleData = FightDataManager.Instance.GetMyFightRoleData();
+            FightRoleData roleData = FightDataManager.Instance.roleData;
 
             object targetData;
             int fightType;
@@ -69,12 +69,12 @@ namespace GFGGame
                 if (arenaTarget.Type == ArenaFightTargetType.ROBOT)
                 {
                     fightType = ArenaFightTargetType.ROBOT;
-                    targetData = FightDataManager.Instance.GetArenaRobotData(0, arenaTarget);
+                    targetData = ArenaDataManager.Instance.GetArenaRobotData(0, arenaTarget);
                 }
                 else
                 {
                     fightType = ArenaFightTargetType.PLAYER;
-                    targetData = FightDataManager.Instance.GetArenaRoleData(0, arenaTarget);
+                    targetData = ArenaDataManager.Instance.GetArenaRoleData(0, arenaTarget);
                     DressUpObj dressUpObj = new DressUpObj();
                     if (_sceneTargetObject == null)
                     {

BIN
GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes


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

@@ -0,0 +1,319 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3546098852908447157
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3406092553222842069}
+  - component: {fileID: 105489496434798885}
+  m_Layer: 0
+  m_Name: Bg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3406092553222842069
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3546098852908447157}
+  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: 369419672786543710}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &105489496434798885
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3546098852908447157}
+  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: 03cdae2317655b24e9b791c43f151e7a, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 12, y: 24}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!1 &5264677739603096099
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 369419672786543710}
+  m_Layer: 0
+  m_Name: SceneArena
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &369419672786543710
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5264677739603096099}
+  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: 3406092553222842069}
+  - {fileID: 1352865593306254017}
+  - {fileID: 7512704231378774906}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6804152833114416294
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1352865593306254017}
+  m_Layer: 0
+  m_Name: MyRole
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1352865593306254017
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6804152833114416294}
+  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: 4765689914788877876}
+  m_Father: {fileID: 369419672786543710}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &7684116393383725891
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7512704231378774906}
+  m_Layer: 0
+  m_Name: TargetRole
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7512704231378774906
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7684116393383725891}
+  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: 4342571773848954758}
+  m_Father: {fileID: 369419672786543710}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &3841298064563205818
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 1352865593306254017}
+    m_Modifications:
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalScale.x
+      value: 1.5
+      objectReference: {fileID: 0}
+    - 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_LocalPosition.x
+      value: -2.73
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: -1.32
+      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 &4765689914788877876 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+  m_PrefabInstance: {fileID: 3841298064563205818}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5417763847143409416
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 7512704231378774906}
+    m_Modifications:
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalScale.x
+      value: 1.5
+      objectReference: {fileID: 0}
+    - 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_LocalPosition.x
+      value: 2.71
+      objectReference: {fileID: 0}
+    - target: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: -1.32
+      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 &4342571773848954758 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 8605298645749227662, guid: 8c54818580e6de44cbe90f73003c8b25, type: 3}
+  m_PrefabInstance: {fileID: 5417763847143409416}
+  m_PrefabAsset: {fileID: 0}

+ 7 - 0
GameClient/Assets/ResIn/Prefab/SceneArena.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d7291e7aad5fe71458dd2b3bf3ace18e
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

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


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png


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


+ 1 - 1
GameClient/Assets/Scenes/GameLauncher.unity

@@ -277,7 +277,7 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 170410349}
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 2.4324324, y: -5, z: 0}
+  m_LocalPosition: {x: 2.5, y: -5, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}