zhaoyang před 2 roky
rodič
revize
139d2e7a0d
33 změnil soubory, kde provedl 426 přidání a 432 odebrání
  1. 5 5
      FGUIProject/assets/Arena/ArenaDressInfoUI.xml
  2. 10 4
      FGUIProject/assets/Arena/components/ComCard.xml
  3. 2 2
      FGUIProject/assets/DressUp/package.xml
  4. 6 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstFightRoleType.cs
  5. 1 1
      GameClient/Assets/Game/HotUpdate/Constant/ConstFightRoleType.cs.meta
  6. 67 1
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  7. 110 40
      GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs
  8. 0 6
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  9. 2 2
      GameClient/Assets/Game/HotUpdate/Data/VO/FightData.cs
  10. 7 7
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs
  11. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_ComCard.cs
  12. 0 74
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_TypeItem.cs
  13. 1 1
      GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs
  14. 165 1
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDressInfoView.cs
  15. 30 47
      GameClient/Assets/Game/HotUpdate/Views/DressUp/ArenaDressUpFightView.cs
  16. 5 3
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs
  17. 6 40
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs
  18. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs
  19. 5 5
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  20. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0!a.png
  21. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0.png
  22. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1!a.png
  23. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1.png
  24. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3!a.png
  25. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3.png
  26. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4!a.png
  27. 0 96
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4!a.png.meta
  28. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4.png
  29. 0 96
      GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4.png.meta
  30. binární
      GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes
  31. binární
      GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas0!a.png
  32. binární
      GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas0.png
  33. binární
      GameClient/Assets/ResIn/UI/DressUp/DressUp_fui.bytes

+ 5 - 5
FGUIProject/assets/Arena/ArenaDressInfoUI.xml

@@ -4,12 +4,12 @@
     <remark page="0" value="自己的搭配"/>
     <remark page="1" value="查看他人搭配"/>
   </controller>
-  <controller name="c2" pages="0,,1,,2," selected="2">
+  <controller name="c2" pages="0,,1,,2," selected="1">
     <remark page="0" value="主题一"/>
     <remark page="1" value="主题二"/>
     <remark page="2" value="主题三"/>
   </controller>
-  <controller name="c3" alias="标签数量" pages="0,,1,,2,,3,,4,,5," selected="5"/>
+  <controller name="c3" alias="标签数量" pages="0,,1,,2,,3,,4,,5," selected="0"/>
   <displayList>
     <component id="n0_psph" name="btnBack" src="9xlo8" fileName="components/ButtonBack1.xml" pkg="eg2y0ldp" xy="35,80"/>
     <loader id="n1_psph" name="loaBg" xy="0,0" size="1080,1920" touchable="false">
@@ -20,17 +20,17 @@
       <Button icon="ui://4lc5fhlbjcej2r" selectedIcon="ui://4lc5fhlbjcej2n" controller="c2" page="0"/>
     </component>
     <component id="n77_psph" name="btn1" src="psph1e" fileName="components/BtnTab3.xml" xy="375,81" size="224,77" group="n79_psph">
-      <Button icon="ui://4lc5fhlbjcej2s" selectedIcon="ui://4lc5fhlbjcej2o" controller="c2" page="1"/>
+      <Button checked="true" icon="ui://4lc5fhlbjcej2s" selectedIcon="ui://4lc5fhlbjcej2o" controller="c2" page="1"/>
     </component>
     <component id="n78_psph" name="btn2" src="psph1e" fileName="components/BtnTab3.xml" xy="599,81" size="224,77" group="n79_psph">
-      <Button checked="true" icon="ui://4lc5fhlbjcej2t" selectedIcon="ui://4lc5fhlbjcej2p" controller="c2" page="2"/>
+      <Button icon="ui://4lc5fhlbjcej2t" selectedIcon="ui://4lc5fhlbjcej2p" controller="c2" page="2"/>
     </component>
     <group id="n79_psph" name="n79" xy="150,80" size="673,78" advanced="true"/>
     <component id="n83_jcej" name="comValueInfo" src="jcej3t" fileName="components/ComValueInfo.xml" xy="18,236"/>
     <component id="n14_psph" name="comListBg" src="psph16" fileName="components/comListType.xml" xy="850,40" size="230,1880">
       <relation target="" sidePair="height-height"/>
     </component>
-    <list id="n37_psph" name="list" xy="853,185" size="227,1734" overflow="scroll" lineGap="30" defaultItem="ui://4lc5fhlbpsph18" autoClearItems="true">
+    <list id="n37_psph" name="list" xy="853,185" size="227,1734" overflow="scroll" lineGap="30" defaultItem="ui://mbo439wbk6he26" autoClearItems="true">
       <relation target="" sidePair="bottomext-bottom"/>
       <item/>
       <item/>

+ 10 - 4
FGUIProject/assets/Arena/components/ComCard.xml

@@ -1,10 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="222,281" overflow="hidden">
+  <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
     <image id="n53_jcej" name="n53" src="jcej2j" fileName="images/jjsy_btbtdi.png" xy="0,0"/>
-    <component id="n52_psph" name="comCard" src="jcej3u" fileName="components/ComCardMask.xml" xy="22,20"/>
-    <loader id="n54_jcej" name="loaScore" xy="22,20" size="42,42" aspect="true" url="ui://eg2y0ldp842s6h" fill="scale"/>
-    <loader id="n56_jcej" name="loaRarity" xy="159,20" size="44,94" url="ui://eg2y0ldpd4iw52" autoSize="true"/>
-    <text id="n57_jcej" name="txtCardName" xy="73,212" pivot="0.5,0" size="76,49" font="ui://eg2y0ldpwonotjc" fontSize="36" color="#d48a89" align="center" text="梦影"/>
+    <component id="n52_psph" name="comCard" src="jcej3u" fileName="components/ComCardMask.xml" xy="22,20" group="n58_jcej">
+      <gearDisplay controller="c1" pages=""/>
+    </component>
+    <loader id="n54_jcej" name="loaScore" xy="22,20" size="42,42" group="n58_jcej" aspect="true" url="ui://eg2y0ldp842s6h" fill="scale"/>
+    <loader id="n56_jcej" name="loaRarity" xy="159,20" size="44,94" group="n58_jcej" url="ui://eg2y0ldpd4iw52" autoSize="true"/>
+    <text id="n57_jcej" name="txtCardName" xy="73,212" pivot="0.5,0" size="76,49" group="n58_jcej" font="ui://eg2y0ldpwonotjc" fontSize="36" color="#d48a89" align="center" text="梦影"/>
+    <group id="n58_jcej" name="n58" xy="22,20" size="181,241" advanced="true">
+      <gearDisplay controller="c1" pages="1"/>
+    </group>
   </displayList>
 </component>

+ 2 - 2
FGUIProject/assets/DressUp/package.xml

@@ -28,7 +28,7 @@
     <component id="q08x13" name="ComboBoxSuit_item.xml" path="/components/"/>
     <component id="q08x14" name="ComboBoxSuit_popup.xml" path="/components/"/>
     <component id="q08x15" name="ComboBoxSuit.xml" path="/components/"/>
-    <component id="k6he16" name="TypeItem.xml" path="/components/" exported="true"/>
+    <component id="k6he16" name="TypeItem.xml" path="/components/"/>
     <image id="k6he17" name="hz_bjanniu.png" path="/images/"/>
     <image id="k6he18" name="hz_dakai_1.png" path="/images/"/>
     <component id="k6he1v" name="PartsList.xml" path="/components/"/>
@@ -40,7 +40,7 @@
     <component id="k6he23" name="ComboBoxRarity_item.xml" path="/components/"/>
     <component id="k6he24" name="ComboBoxRarity_popup.xml" path="/components/"/>
     <component id="k6he25" name="ComboBoxRarity.xml" path="/components/"/>
-    <component id="k6he26" name="PartsListItem.xml" path="/components/"/>
+    <component id="k6he26" name="PartsListItem.xml" path="/components/" exported="true"/>
     <image id="slb42a" name="hz_fenleituej_1.png" path="/imagesExport/" exported="true"/>
     <image id="slb42b" name="hz_fenleituej_10.png" path="/imagesExport/" exported="true"/>
     <image id="slb42c" name="hz_fenleituej_2.png" path="/imagesExport/" exported="true"/>

+ 6 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstFightRoleType.cs

@@ -0,0 +1,6 @@
+public class FightRoleType
+{
+
+    public const int MINE = 0;
+    public const int TAEGET = 1;
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_TypeItem.cs.meta → GameClient/Assets/Game/HotUpdate/Constant/ConstFightRoleType.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: edf426a74ddd7c040ae23daa38be340b
+guid: 523b75d78566ad048879207aa84f20f1
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 67 - 1
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections.Generic;
 using FairyGUI;
 
@@ -18,7 +19,7 @@ namespace GFGGame
         public List<ArenaTargetData> rankDatas = new List<ArenaTargetData>();//排行榜数据
         public List<ArenaHistoryData> historyDatas = new List<ArenaHistoryData>();//获取竞技场历史记录
 
-        public int SelectDressIndex = 0;//当前选中换装主题(ThemeList)的下标
+        public int SelectThemeIndex = 0;//当前选中换装主题(ThemeList)的下标
         public int SelectTargetIndex = 0;//当前选中挑战对象的下标
         public int CurFightIndex = 0;//当前挑战的为第几场
 
@@ -42,5 +43,70 @@ namespace GFGGame
         {
 
         }
+        public List<int> GetRecommentItemList(int scoreType, string[] tags)
+        {
+            Dictionary<int, List<int>> itemListDic = new Dictionary<int, List<int>>();
+            Dictionary<int, List<int>> itemDatasDic = DressUpMenuItemDataManager.ItemDatasBySubTypeDic;
+
+            foreach (int subType in itemDatasDic.Keys)
+            {
+                if (itemDatasDic.Count == 0) continue;
+                List<int> dressList = SortDressList(itemDatasDic[subType], scoreType, tags);
+                int max = subType == (int)ConstDressUpItemType.TE_SHU ? 3 : 1;
+                max = Math.Min(max, dressList.Count);
+                itemListDic[subType] = dressList.GetRange(0, max);
+            }
+
+            if (itemListDic.ContainsKey(ConstDressUpItemType.LIAN_YI_QUN) && itemListDic.ContainsKey(ConstDressUpItemType.SHANG_YI) && itemListDic.ContainsKey(ConstDressUpItemType.XIA_ZHUANG))
+            {
+                bool hasTagLYQ = ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.LIAN_YI_QUN][0], tags);
+                bool hasTagSY = ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.SHANG_YI][0], tags);
+                bool hasTagXZ = ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.XIA_ZHUANG][0], tags);
+                if (hasTagLYQ && !hasTagSY && !hasTagXZ)
+                {
+                    itemListDic.Remove(ConstDressUpItemType.SHANG_YI);
+                    itemListDic.Remove(ConstDressUpItemType.XIA_ZHUANG);
+                }
+                else if (!hasTagLYQ && (hasTagSY || hasTagXZ))
+                {
+                    itemListDic.Remove(ConstDressUpItemType.LIAN_YI_QUN);
+                }
+                else
+                {
+                    int scoreLYQ = ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.LIAN_YI_QUN][0], scoreType, tags);
+                    int scoreSY = ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.SHANG_YI][0], scoreType, tags);
+                    int scoreXZ = ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.XIA_ZHUANG][0], scoreType, tags);
+                    if (scoreLYQ > scoreSY + scoreXZ)
+                    {
+                        itemListDic.Remove(ConstDressUpItemType.SHANG_YI);
+                        itemListDic.Remove(ConstDressUpItemType.XIA_ZHUANG);
+                    }
+                    else
+                    {
+                        itemListDic.Remove(ConstDressUpItemType.LIAN_YI_QUN);
+                    }
+                }
+            }
+            List<int> itemList = new List<int>();
+            foreach (int subType in itemListDic.Keys)
+            {
+                itemList.AddRange(itemListDic[subType]);
+            }
+            return itemList;
+        }
+        private List<int> SortDressList(List<int> dressList, int scoreType, string[] tags)
+        {
+            dressList.Sort((int a, int b) =>
+            {
+                ItemCfg cfgA = ItemCfgArray.Instance.GetCfg(a);
+                ItemCfg cfgB = ItemCfgArray.Instance.GetCfg(b);
+                if (ItemDataManager.CheckItemTagsRight(a, tags) && !ItemDataManager.CheckItemTagsRight(b, tags)) return -1;
+                if (ItemDataManager.CheckItemTagsRight(b, tags) && !ItemDataManager.CheckItemTagsRight(a, tags)) return 1;
+                int scoreA = ItemDataManager.GetItemAdditionScore(a, scoreType, tags);
+                int scoreB = ItemDataManager.GetItemAdditionScore(b, scoreType, tags);
+                return scoreB - scoreA;
+            });
+            return dressList;
+        }
     }
 }

+ 110 - 40
GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs

@@ -11,19 +11,37 @@ namespace GFGGame
         public Texture2D RoleTextuex { get; set; }
 
         //角色基础分+部件基础分
-        private int _score;
-        public int score
+        // private int _score;
+        // public int score
+        // {
+        //     get
+        //     {
+        //         return _score;
+        //     }
+        //     set
+        //     {
+        //         _score = value;
+        //         EventAgent.DispatchEvent(ConstMessage.DRESS_UP_SCORE_CHANGED, _score);
+        //     }
+        // }
+        public FightRoleData roleData
         {
             get
             {
-                return _score;
+                return GetMyFightRoleData();
             }
-            set
+        }
+        public int GetScore(List<int> itemScoreList)
+        {
+            int score = 0;
+
+            for (int i = 0; i < itemScoreList.Count; i++)
             {
-                _score = value;
-                EventAgent.DispatchEvent(ConstMessage.DRESS_UP_SCORE_CHANGED, _score);
+                score += itemScoreList[i];
             }
+            return score;
         }
+
         //最终得分
         private int _totalScore;
         public int totalScore
@@ -163,20 +181,23 @@ namespace GFGGame
         }
 
         //获取玩家战斗数据
-        public FightRoleData GetMyFightRoleData()
+        private FightRoleData GetMyFightRoleData()
         {
             FightRoleData roleData = new FightRoleData();
             roleData.name = RoleDataManager.roleName;
             roleData.headId = RoleDataManager.headId;
             roleData.headBorderId = RoleDataManager.headBorderId;
-            roleData.scoreType = InstanceZonesDataManager.currentScoreType; //本次战斗的主题
             roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).baseScore;//角色等级分数
-            roleData.cardId = InstanceZonesDataManager.currentCardId; ;//卡牌id
-            roleData.cardScore = CardDataManager.GetCardDataById(roleData.cardId).scores[roleData.scoreType];//卡牌对应主题的属性分数
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
             {
-                // roleData.fightScene = ConstInstanceZonesType.Arena;
-                roleData.tags = new string[1] { ArenaDataManager.Instance.Tag };
+                if (ArenaDataManager.Instance.CurFightIndex == 0)
+                {
+                    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;
             }
             else
             {
@@ -187,12 +208,16 @@ namespace GFGGame
                     StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
                     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;
+
             }
             if (roleData.cardId > 0)
             {
                 roleData.skillLvs = SkillDataManager.Instance.GetSkillLvs(roleData.cardId);
             }
-            roleData.itemList = MyDressUpHelper.dressUpObj.itemList;
 
             for (int i = 0; i < roleData.itemList.Count; i++)
             {
@@ -260,6 +285,37 @@ namespace GFGGame
         }
 
         /// <summary>
+        /// 卡牌列表按竞技战力排序
+        /// </summary>
+        /// <param name="arrayList"></param>
+        /// <returns></returns>
+        public List<CardData> SortCardList(List<CardData> arrayList, List<int> itemList, int scoreType)
+        {
+            double itemSum = 0;
+            for (int i = 0; i < itemList.Count; i++)
+            {
+                itemSum += ItemDataManager.GetItemAdditionScore(itemList[i], scoreType);
+            }
+            int baseScore = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).baseScore;
+            arrayList.Sort((CardData a, CardData b) =>
+            {
+                double scoreA = GetSkillFightScore(itemSum, baseScore, a.id, a.scores[scoreType], SkillDataManager.Instance.GetSkillLvs(a.id));
+                double scoreB = GetSkillFightScore(itemSum, baseScore, b.id, b.scores[scoreType], SkillDataManager.Instance.GetSkillLvs(b.id));
+                if (scoreA < scoreB)
+                {
+                    return 1;
+                }
+                else if (scoreA > scoreB)
+                {
+                    return -1;
+                }
+
+                return string.Compare(a.itemCfg.res, b.itemCfg.res);
+            });
+            return arrayList;
+        }
+
+        /// <summary>
         /// 获取快速挑战结果
         /// </summary>
         /// <param name="myRoleData"></param>
@@ -342,7 +398,7 @@ namespace GFGGame
         }
 
         /// <summary>
-        /// 获取竞技场玩家战力
+        /// 获取玩家竞技场战力
         /// </summary>
         /// <returns></returns>
         public int GetArenaRoleFightScore(FightRoleData roleDatas)
@@ -355,15 +411,7 @@ namespace GFGGame
 
             double itemSum = GetItemScoreSum(roleDatas.itemScoreList);
             double clickScore = GetPerfectClickScore(roleDatas) / ConstScoreSystem.PART_SCORE;
-            double skillScore = 0;
-            double skillBaseScore = itemSum + roleDatas.cardScore + roleDatas.baseScore;
-            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(roleDatas.cardId);
-            for (int j = 0; j < skillCfgs.Count; j++)
-            {
-                PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(roleDatas.skillLvs[j], skillCfgs[j].skillId);
-                if (skillLvlCfg == null) continue;
-                skillScore += skillBaseScore * skillLvlCfg.fightPowerParam / 10000;
-            }
+            double skillScore = GetSkillFightScore(itemSum, roleData.baseScore, roleData.cardId, roleData.cardScore, roleData.skillLvs);
             fightScore = itemSum + clickScore + skillScore;
 
             return (int)Math.Ceiling(fightScore);
@@ -374,24 +422,15 @@ namespace GFGGame
         /// 获取竞技场机器人战力
         /// </summary>
         /// <returns></returns>
-        public int GetArenaRobotFightScore(List<FightRobotData> robotDatas)
+        public int GetArenaRobotFightScore(FightRobotData robotData)
         {
             double fightScore = 0;
-            for (int i = 0; i < robotDatas.Count; i++)
-            {
-                double itemSum = GetItemScoreSum(robotDatas[i].itemScoreList);
-                double clickScore = GetRobotPerfectClickScore(robotDatas[i]) / ConstScoreSystem.PART_SCORE;
-                double skillScore = 0;
-                double skillBaseScore = itemSum + robotDatas[i].cardScore + robotDatas[i].baseScore;
-                List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(robotDatas[i].cardId);
-                for (int j = 0; j < skillCfgs.Count; j++)
-                {
-                    PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(robotDatas[i].skillLvs[j], skillCfgs[i].skillId);
-                    if (skillLvlCfg == null) continue;
-                    skillScore += skillBaseScore * skillLvlCfg.fightPowerParam / 10000;
-                }
-                fightScore = itemSum + clickScore + skillScore;
-            }
+
+            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);
         }
 
@@ -399,7 +438,7 @@ namespace GFGGame
         /// 所有部件主属性和
         /// </summary>
         /// <returns></returns>
-        private double GetItemScoreSum(List<int> itemScoreList)
+        public double GetItemScoreSum(List<int> itemScoreList)
         {
             double scoreSum = 0;
             for (int i = 0; i < itemScoreList.Count; i++)
@@ -409,6 +448,7 @@ namespace GFGGame
             return scoreSum;
 
         }
+        //玩家卓越点击战力
         private double GetPerfectClickScore(FightRoleData roleData)
         {
             double clickScore = 0;
@@ -418,6 +458,7 @@ namespace GFGGame
             }
             return clickScore;
         }
+        //机器人卓越点击战力
         private double GetRobotPerfectClickScore(FightRobotData robotData)
         {
             double clickScore = 0;
@@ -428,5 +469,34 @@ namespace GFGGame
             }
             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;
+        // }
     }
 }

+ 0 - 6
GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs

@@ -25,12 +25,6 @@ namespace GFGGame
         public const int PART_FIGHT_END = 10;//每回合结束
     }
 
-    public class RoleType
-    {
-
-        public const int MINE = 0;
-        public const int TAEGET = 1;
-    }
 
 
     public class ScoreSystemData : SingletonBase<ScoreSystemData>

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

@@ -15,8 +15,8 @@ namespace GFGGame
         public int cardScore;//卡牌对应主题的属性分数
         public string[] tags = { };////本次战斗要求的标签
         public List<int> skillLvs = new List<int>();
-        public Dictionary<int, List<int>> pardListDic = new Dictionary<int, List<int>>();//战斗部位,部件列表
-        public Dictionary<int, List<int>> pardScoreListDic = new Dictionary<int, List<int>>();//战斗部位,部件分数列表
+        public Dictionary<int, List<int>> pardListDic = new Dictionary<int, List<int>>();//战斗部位,部件列表,战斗开始时更新
+        public Dictionary<int, List<int>> pardScoreListDic = new Dictionary<int, List<int>>();//战斗部位,部件分数列表,战斗开始时更新
         public List<int> itemScoreList = new List<int>();//对应服装当前主题的实际分数
         public List<int> itemList = new List<int>();
 

+ 7 - 7
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs

@@ -231,11 +231,11 @@ namespace GFGGame
                 UpdateWholeBodyView();
             }
             RoleLevelCfg roleLevelCfg = RoleLevelCfgArray.Instance.GetCfg(GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl));
-            FightDataManager.Instance.score = roleLevelCfg.baseScore;
-            foreach (int itemId in _dressUpData.itemList)
-            {
-                FightDataManager.Instance.score += ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
-            }
+            // FightDataManager.Instance.score = roleLevelCfg.baseScore;
+            // foreach (int itemId in _dressUpData.itemList)
+            // {
+            //     FightDataManager.Instance.score += ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
+            // }
         }
 
         //穿上或脱掉一个动作
@@ -389,7 +389,7 @@ namespace GFGGame
                 _dressUpData.itemList.Add(itemId);
                 bool showAni = IsAction || DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId);
                 DressUpUtil.AddItem(itemId, _sceneObj, _needSetMask, showAni, _roleObj);
-                FightDataManager.Instance.score += ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
+                // FightDataManager.Instance.score += ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
             }
         }
 
@@ -403,7 +403,7 @@ namespace GFGGame
             {
                 _dressUpData.itemList.Remove(itemId);
                 DressUpUtil.RemoveItem(itemId, _sceneObj, _roleObj);
-                FightDataManager.Instance.score -= ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
+                // FightDataManager.Instance.score -= ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
             }
         }
 

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

@@ -7,6 +7,7 @@ namespace UI.Arena
     public partial class UI_ComCard
     {
         public GComponent target;
+        public Controller m_c1;
         public UI_ComCardMask m_comCard;
         public GLoader m_loaScore;
         public GLoader m_loaRarity;
@@ -58,6 +59,7 @@ namespace UI.Arena
 
         private void Init(GComponent comp)
         {
+            m_c1 = comp.GetController("c1");
             m_comCard = (UI_ComCardMask)UI_ComCardMask.Create(comp.GetChild("comCard"));
             m_loaScore = (GLoader)comp.GetChild("loaScore");
             m_loaRarity = (GLoader)comp.GetChild("loaRarity");
@@ -65,6 +67,7 @@ namespace UI.Arena
         }
         public void Dispose(bool disposeTarget = false)
         {
+            m_c1 = null;
             m_comCard.Dispose();
             m_comCard = null;
             m_loaScore = null;

+ 0 - 74
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Arena/UI_TypeItem.cs

@@ -1,74 +0,0 @@
-/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
-
-using FairyGUI;
-
-namespace UI.Arena
-{
-    public partial class UI_TypeItem
-    {
-        public GComponent target;
-        public GLoader m_icon;
-        public GTextField m_txtname;
-        public const string URL = "ui://4lc5fhlbpsph18";
-        public const string PACKAGE_NAME = "Arena";
-        public const string RES_NAME = "TypeItem";
-        private static UI_TypeItem _proxy;
-
-        public static UI_TypeItem Create(GObject gObject = null)
-        {
-            var ui = new UI_TypeItem();
-            if(gObject == null)
-            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
-            else
-            	ui.target =  (GComponent)gObject;
-            ui.Init(ui.target);
-            return ui;
-        }
-
-        public static UI_TypeItem Proxy(GObject gObject = null)
-        {
-            if(_proxy == null)
-            {
-                _proxy = new UI_TypeItem();
-            }
-            var ui = _proxy;
-            if(gObject == null)
-            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
-            else
-            	ui.target =  (GComponent)gObject;
-            ui.Init(ui.target);
-            return ui;
-        }
-
-        public static void ProxyEnd()
-        {
-            if (_proxy != null)
-            {
-                _proxy.Dispose();
-            }
-        }
-
-        public static void ClearProxy()
-        {
-            ProxyEnd();
-            _proxy = null;
-        }
-
-        private void Init(GComponent comp)
-        {
-            m_icon = (GLoader)comp.GetChild("icon");
-            m_txtname = (GTextField)comp.GetChild("txtname");
-        }
-        public void Dispose(bool disposeTarget = false)
-        {
-            m_icon = null;
-            m_txtname = null;
-            if(disposeTarget && target != null)
-            {
-                target.RemoveFromParent();
-                target.Dispose();
-            }
-            target = null;
-        }
-    }
-}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -189,7 +189,7 @@ namespace GFGGame
             }
         }
 
-        //获取对手装属性
+        //获取对手装属性
         public static async ETTask ReqArenaFightAttr(int roleId, List<FightRoleData> list)
         {
             S2C_ArenaFightAttr response = null;

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

@@ -1,6 +1,10 @@
+using System;
+using System.Collections.Generic;
 using ET;
 using FairyGUI;
 using UI.Arena;
+using UI.CommonGame;
+using UI.DressUp;
 using UnityEngine;
 
 namespace GFGGame
@@ -8,9 +12,22 @@ namespace GFGGame
     public class ArenaDressInfoView : BaseWindow
     {
         private UI_ArenaDressInfoUI _ui;
+        private GameObject _scenePrefab;
+        private GameObject _sceneObject;
 
+        private List<FightRoleData> _roleDatas;//可能是自己的搭配,也可能是对方玩家的搭配
+        private List<FightRobotData> _robotDatas;//对方机器人搭配
+        private int _themeIndex = 0;
+        private List<int> _itemList;
+        private string[] _tags;
+        private int _roleType = 0;
         public override void Dispose()
         {
+            if (_sceneObject != null)
+            {
+                GameObject.Destroy(_sceneObject);
+                _sceneObject = null;
+            }
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -27,6 +44,15 @@ namespace GFGGame
             this.viewCom = _ui.target;
             isfullScreen = true;
 
+            _ui.m_c2.onChanged.Add(OnThemeChange);
+            _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+            _ui.m_btnDress.onClick.Add(OnBtnDressClick);
+            _ui.m_btnRecommend.onClick.Add(OnBtnRecommendClick);
+
+            _ui.m_list.itemRenderer = RenderListItem;
+
+            _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneDressUpFight"));
+
             // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
         }
         protected override void AddEventListener()
@@ -37,13 +63,27 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            _roleType = (int)(this.viewData as object[])[0];
+            _themeIndex = (int)(this.viewData as object[])[1];
+            _roleDatas = (this.viewData as object[])[2] as List<FightRoleData>;
+            _robotDatas = (this.viewData as object[])[3] as List<FightRobotData>;
 
+            _ui.m_c1.selectedIndex = _roleType;
+            if (_sceneObject == null)
+            {
+                _sceneObject = GameObject.Instantiate(_scenePrefab);
+                MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, false, false);
+            }
         }
 
         protected override void OnHide()
         {
             base.OnHide();
-
+            if (_sceneObject != null)
+            {
+                GameObject.Destroy(_sceneObject);
+                _sceneObject = null;
+            }
         }
 
         protected override void RemoveEventListener()
@@ -51,5 +91,129 @@ namespace GFGGame
             base.RemoveEventListener();
 
         }
+        private void OnClickBtnBack()
+        {
+            ViewManager.GoBackFrom(typeof(ArenaDressInfoView).FullName);
+        }
+        private void OnThemeChange()
+        {
+            _themeIndex = _ui.m_c2.selectedIndex;
+            if (_roleType == FightRoleType.MINE)
+            {
+                ArenaDataManager.Instance.SelectThemeIndex = _themeIndex;
+            }
+            UpdateView();
+        }
+        private void OnBtnDressClick()
+        {
+            ViewManager.Show<ArenaDressUpFightView>(null, new object[] { _roleType, _themeIndex, _roleDatas, _robotDatas }, true);
+        }
+        private void OnBtnRecommendClick()
+        {
+            for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
+            {
+                int scoreType = ArenaDataManager.Instance.ThemeList[i];
+                FightRoleData roleData = ArenaDataManager.Instance.DressupList[i];
+                roleData.itemList = ArenaDataManager.Instance.GetRecommentItemList(scoreType, roleData.tags);
+                roleData.cardId = FightDataManager.Instance.SortCardList(CardDataManager.GetCardListByRarity(0), roleData.itemList, scoreType)[0].id;
+            }
+            _roleDatas = ArenaDataManager.Instance.DressupList;
+            UpdateView();
+        }
+        private void UpdateView()
+        {
+            if (_roleDatas != null)
+            {
+                _itemList = _roleDatas[_themeIndex].itemList;
+                _tags = _roleDatas[_themeIndex].tags;
+                UpdateValueInfo();
+                UpdateCardInfo(_roleDatas[_themeIndex].cardId);
+            }
+            else
+            {
+                _itemList = new List<int>(SuitCfgArray.Instance.GetSuitItems(_robotDatas[_themeIndex].showSuitId));
+                _tags = _roleDatas[_themeIndex].tags;
+                UpdateRobotValueInfo();
+                UpdateCardInfo(_roleDatas[_themeIndex].cardId);
+            }
+            MyDressUpHelper.dressUpObj.PutOnItemList(_itemList);
+            _ui.m_list.numItems = _itemList.Count;
+        }
+        private void UpdateValueInfo()
+        {
+            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_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();
+            }
+            UI_ComValueInfo.ProxyEnd();
+        }
+        private void UpdateRobotValueInfo()
+        {
+            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_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();
+            }
+            UI_ComValueInfo.ProxyEnd();
+        }
+        private void UpdateCardInfo(int cardId)
+        {
+            if (cardId == 0)
+            {
+                _ui.m_comCard.m_c1.selectedIndex = 0;
+                return;
+            }
+            _ui.m_comCard.m_c1.selectedIndex = 1;
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cardId);
+            _ui.m_comCard.m_comCard.m_loaCard.url = ResPathUtil.GetCardSmallPath(itemCfg.res);
+            _ui.m_comCard.m_loaScore.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + ArenaDataManager.Instance.ThemeList[_themeIndex]);
+            RarityIconController.UpdateRarityIcon(_ui.m_comCard.m_loaRarity, cardId, false);
+        }
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_PartsListItem item = UI_PartsListItem.Proxy(obj);
+            item.m_comAxtionSelect.target.visible = false;
+            item.m_imgNeed.visible = false;
+            item.m_imgNew.visible = false;
+            item.m_iconSelected.visible = true;
+
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemList[index]);
+            item.m_txtTitle.text = itemCfg.name;
+            item.m_ScoreType.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + ArenaDataManager.Instance.ThemeList[_themeIndex]);
+            if (_roleDatas != null)
+            {
+                item.m_txtScore.text = _robotDatas[_themeIndex].itemScoreList[index].ToString();
+            }
+            else
+            {
+                int score = ItemDataManager.GetItemBaseScoreValue(itemCfg.id, _robotDatas[_themeIndex].scoreType);
+                int tagScore = ItemDataManager.GetItemTagScore(itemCfg.id, _robotDatas[_themeIndex].tags);
+                item.m_txtScore.text = (score + tagScore).ToString();
+            }
+            RarityIconController.UpdateRarityIcon(item.m_ScoreType, _itemList[index], false);
+            UI_PartsListItem.ProxyEnd();
+        }
+
     }
 }

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

@@ -104,9 +104,9 @@ namespace GFGGame
         {
             base.OnShown();
             _dataManager = ArenaDataManager.Instance;
-            _roleData = _dataManager.DressupList[_dataManager.SelectDressIndex];
-            InstanceZonesDataManager.currentScoreType = _dataManager.ThemeList[_dataManager.SelectDressIndex];
-            InstanceZonesDataManager.currentFightTags = _dataManager.DressupList[_dataManager.SelectDressIndex].tags;
+            _roleData = _dataManager.DressupList[_dataManager.SelectThemeIndex];
+            InstanceZonesDataManager.currentScoreType = _dataManager.ThemeList[_dataManager.SelectThemeIndex];
+            InstanceZonesDataManager.currentFightTags = _dataManager.DressupList[_dataManager.SelectThemeIndex].tags;
 
 
             _scoreIndex = _ui.m_partsList.m_comboBoxRarity.selectedIndex;
@@ -164,11 +164,15 @@ namespace GFGGame
         }
         private void OnClickBtnBack()
         {
-            AlertUI.Show("是否确定退出?")
-            .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
+
+            if (!MyDressUpHelper.CheckPutOnFinish())
             {
-                ViewManager.GoBackFrom(typeof(ArenaDressUpFightView).FullName);
-            });
+                AlertUI.Show("当前主题尚未穿戴完整,是否确定退出?")
+                  .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
+                {
+                    ViewManager.GoBackFrom(typeof(ArenaDressUpFightView).FullName);
+                });
+            }
         }
 
         private void OnClickBtnHome()
@@ -184,7 +188,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.score.ToString();
+            comValueInfo.m_txtScore.text = FightDataManager.Instance.GetScore(_roleData.itemScoreList).ToString();
             comValueInfo.m_txtFightScore.text = FightDataManager.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);
@@ -256,7 +260,6 @@ namespace GFGGame
                 this.showListParts2(id);
                 this.hideListParts();
                 MyDressUpHelper.dressUpObj.PutOnItemList(MyDressUpHelper.GetSuitFightItems(id));
-                // MyDressUpHelper.dressUpObj.PutOnSuitCfg(id, false);
             }
             else
             {
@@ -345,43 +348,11 @@ namespace GFGGame
 
         }
 
-        private async void OnClickBtnNext()
-        {
-            if (!MyDressUpHelper.CheckPutOnFinish())
-            {
-                AlertUI.Show("当前主题尚未穿戴完整")
-                    .SetRightButton(true, "好的");
-                return;
-            }
-
-            await DressUpFinishAsync();
-        }
-
-        private async Task DressUpFinishAsync()
+        private void OnClickBtnNext()
         {
             Timers.inst.StartCoroutine(ScreenShotTex());
-
-            if (CardDataManager.GetCardListByRarity(0).Count > 0)
-            {
-                ViewManager.Show<StoryCardChoose>(InstanceZonesDataManager.currentScoreType);
-            }
-            else
-            {
-                bool result = await ArenaSproxy.ReqChangeArenaDressup(_dataManager.SelectDressIndex, 0, MyDressUpHelper.dressUpObj.itemList);
-                if (result)
-                {
-                    if (_dataManager.SelectDressIndex == _dataManager.ThemeList.Count - 1)//最后一个主题搭配好要返回竞技场主界面
-                    {
-                        OnClickBtnBack();
-                    }
-                    else
-                    {
-                        _dataManager.SelectDressIndex++;
-                        ViewManager.Show<ArenaDressUpFightView>();
-                    }
-                }
-            }
         }
+
         private IEnumerator ScreenShotTex()
         {
 
@@ -398,11 +369,25 @@ namespace GFGGame
 
             GameObject gameObject = _sceneObject.transform.Find("FightCamera").gameObject;
             Camera camera = gameObject.GetComponent<Camera>();
-            ArenaViewManager.Instance.textureDic[_dataManager.SelectDressIndex] = FightDataManager.Instance.GetPrintscreenNTexture(camera);
+            ArenaViewManager.Instance.textureDic[_dataManager.SelectThemeIndex] = FightDataManager.Instance.GetPrintscreenNTexture(camera);
 
             yield return new WaitForEndOfFrame();
+
+            DressUpFinish();
+
         }
+        private void DressUpFinish()
+        {
 
+            if (CardDataManager.GetCardListByRarity(0).Count > 0)
+            {
+                ViewManager.Show<StoryCardChoose>(InstanceZonesDataManager.currentScoreType);
+            }
+            else
+            {
+                ArenaSproxy.ReqChangeArenaDressup(_dataManager.SelectThemeIndex, 0, MyDressUpHelper.dressUpObj.itemList).Coroutine();
+            }
+        }
         private void OnClickBtnRecommend()
         {
             if (this.currentListType == DressUpListType.List4)
@@ -411,8 +396,6 @@ namespace GFGGame
                 this.showListParts(ConstDressUpItemType.TAO_ZHUANG, true);
             }
             MyDressUpHelper.dressUpObj.CheckCancelActionWhenPutOn(_currentSuitId);
-            // InstanceZonesDataManager.usedRecommend = true;
-            // MyDressUpHelper.PutOnRecommendItems();
             MyDressUpHelper.PutOnRecommendItems2();
             _ui.m_txtDressLimit.text = string.Format("饰品穿戴限制:{0}/{1}", MyDressUpHelper.GetCurrentOrnamentCount(), GlobalCfgArray.globalCfg.dressLimitCount);
 
@@ -746,7 +729,7 @@ namespace GFGGame
             // int mainValuel;
             // ItemDataManager.GetMainScore(id, out mainScore, out mainValuel);
             listItem.m_ScoreType.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + InstanceZonesDataManager.currentScoreType);
-            listItem.m_txtScore.text = "" + ItemDataManager.GetItemAdditionScore(id, InstanceZonesDataManager.currentScoreType, _dataManager.DressupList[_dataManager.SelectDressIndex].tags);
+            listItem.m_txtScore.text = "" + ItemDataManager.GetItemAdditionScore(id, InstanceZonesDataManager.currentScoreType, _dataManager.DressupList[_dataManager.SelectThemeIndex].tags);
 
             listItem.m_icon.url = ResPathUtil.GetIconPath(iconRes, ext);
             listItem.m_txtTitle.text = partName;

+ 5 - 3
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -116,7 +116,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.CARD_CHOOSE, StartCalculateScore);
             EventAgent.AddEventListener(ConstMessage.DRESS_FILTER, UpdatePartsListSort);
             EventAgent.AddEventListener(ConstMessage.DRESS_SEARCH, UpdatePartsListSort);
-            EventAgent.AddEventListener(ConstMessage.DRESS_UP_SCORE_CHANGED, UpdateScore);
+            // EventAgent.AddEventListener(ConstMessage.DRESS_UP_SCORE_CHANGED, UpdateScore);
 
         }
         protected override void OnShown()
@@ -217,7 +217,7 @@ namespace GFGGame
             EventAgent.RemoveEventListener(ConstMessage.CARD_CHOOSE, StartCalculateScore);
             EventAgent.RemoveEventListener(ConstMessage.DRESS_FILTER, UpdatePartsListSort);
             EventAgent.RemoveEventListener(ConstMessage.DRESS_SEARCH, UpdatePartsListSort);
-            EventAgent.RemoveEventListener(ConstMessage.DRESS_UP_SCORE_CHANGED, UpdateScore);
+            // EventAgent.RemoveEventListener(ConstMessage.DRESS_UP_SCORE_CHANGED, UpdateScore);
 
         }
         private void OnClickBtnBack()
@@ -342,6 +342,7 @@ namespace GFGGame
             _ui.m_txtDressLimit.text = string.Format("饰品穿戴限制:{0}/{1}", MyDressUpHelper.GetCurrentOrnamentCount(), GlobalCfgArray.globalCfg.dressLimitCount);
             UpdateListPartsSelected();
             UpdateListSuitPartsSelected();
+            UpdateScore();
         }
         private void OnClickSuitPartsListItem(EventContext context)
         {
@@ -366,6 +367,7 @@ namespace GFGGame
             MyDressUpHelper.dressUpObj.AddOrRemove(id, true);
             _ui.m_txtDressLimit.text = string.Format("饰品穿戴限制:{0}/{1}", MyDressUpHelper.GetCurrentOrnamentCount(), GlobalCfgArray.globalCfg.dressLimitCount);
             UpdateListSuitPartsSelected();
+            UpdateScore();
         }
         private void OnLongPress(EventContext context)
         {
@@ -959,7 +961,7 @@ namespace GFGGame
 
         private void UpdateScore()
         {
-            _ui.m_txtScore.text = "" + FightDataManager.Instance.score;
+            _ui.m_txtScore.text = "" + FightDataManager.Instance.GetScore(FightDataManager.Instance.roleData.itemScoreList).ToString();
             // GuideController.TryGuideDressUpFightViewBtnNext(_ui.m_btnNext);
         }
 

+ 6 - 40
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs

@@ -46,14 +46,14 @@ namespace GFGGame
             _ui.m_listCard.onClickItem.Add(OnListCardItemClick);
 
             _ui.m_btnCancel.onClick.Add(OnBtnCancelClick);
-            _ui.m_btnConfirm.onClick.Add(OnBtnComfirmClickAsync);
+            _ui.m_btnConfirm.onClick.Add(OnBtnComfirmClick);
         }
         protected override void OnShown()
         {
             base.OnShown();
             _scoreType = (int)viewData;
-            cardList = CardDataManager.GetCardListByRarity(0);//.CardDicToList(CardDataManager.GetCardDicByRarity(0));
-            cardList = SortCardList(cardList);
+            cardList = CardDataManager.GetCardListByRarity(0);
+            cardList = FightDataManager.Instance.SortCardList(cardList, MyDressUpHelper.dressUpObj.itemList, _scoreType);
             _ui.m_listCard.numItems = cardList.Count;
             _ui.m_listCard.selectedIndex = 0;
             UpdateView(0);
@@ -108,26 +108,15 @@ namespace GFGGame
             UpdateView(_ui.m_listCard.selectedIndex);
         }
 
-        private async void OnBtnComfirmClickAsync()
+        private void OnBtnComfirmClick()
         {
             int cardId = cardList[_ui.m_listCard.selectedIndex].id;
 
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
             {
                 ArenaDataManager dataManager = ArenaDataManager.Instance;
-                bool result = await ArenaSproxy.ReqChangeArenaDressup(dataManager.SelectDressIndex, cardId, MyDressUpHelper.dressUpObj.itemList);
-                if (result)
-                {
-                    if (dataManager.SelectDressIndex == dataManager.ThemeList.Count - 1)//最后一个主题搭配好要返回竞技场主界面
-                    {
-                        EventAgent.DispatchEvent(ConstMessage.CARD_CHOOSE);
-                    }
-                    else
-                    {
-                        dataManager.SelectDressIndex++;
-                        ViewManager.Show<ArenaDressUpFightView>();
-                    }
-                }
+                ArenaSproxy.ReqChangeArenaDressup(dataManager.SelectThemeIndex, cardId, MyDressUpHelper.dressUpObj.itemList).Coroutine();
+
             }
             else
             {
@@ -138,29 +127,6 @@ namespace GFGGame
             this.Hide();
         }
 
-        private static List<CardData> SortCardList(List<CardData> arrayList)
-        {
-
-            arrayList.Sort((CardData a, CardData b) =>
-            {
-
-                int scoreA = a.scores[_scoreType];// ItemDataManager.GetItemScoreValue(a.id, _scoreType);
-                int scoreB = b.scores[_scoreType];//ItemDataManager.GetItemScoreValue(b.id, _scoreType);
-
-                if (scoreA < scoreB)
-                {
-                    return 1;
-                }
-                else if (scoreA > scoreB)
-                {
-                    return -1;
-                }
-
-                return string.Compare(a.itemCfg.res, b.itemCfg.res);
-            });
-            return arrayList;
-        }
-
 
         private void OnBtnCancelClick()
         {

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

@@ -236,7 +236,7 @@ namespace GFGGame
             _ui.m_comClick.target.touchable = false;
 
             PartScoreResultEnd();
-            _partScore = ScoreSystemData.Instance.GetPartScore(roleData, RoleType.MINE, clickType, _skillScore);
+            _partScore = ScoreSystemData.Instance.GetPartScore(roleData, FightRoleType.MINE, clickType, _skillScore);
             _score += _partScore;
 
             _ui.m_comClick.m_comResult.m_c1.selectedIndex = clickType;

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

@@ -176,7 +176,7 @@ namespace GFGGame
                 targetCardId = targetRobotData.cardId;
                 targetSkillLvs = targetRobotData.skillLvs;
             }
-            if (roleType == RoleType.MINE)
+            if (roleType == FightRoleType.MINE)
             {
                 List<PassivitySkillLvlCfg> vaildSkills = ScoreSystemData.Instance.GetValidSkills(_currentTime, _partId, roleData.cardId, roleData.skillLvs, targetCardId, targetSkillLvs, _roundTimes, _targetRoundTimes);
                 ScoreSystemData.Instance.GetPartItemSkillScore(vaildSkills, _mainScore, _targetMainScore, out skillScore, out targetSkillScore, out skillScoreDic);
@@ -234,9 +234,9 @@ namespace GFGGame
         private void UpdateSkill0()
         {
             //技能分直接加到总分里
-            SkillScoreStart(RoleType.TAEGET, out int t_skillScoreSelf, out int t_skillScoreOther, out Dictionary<int, int> targetSkillScoreDic, out bool showTaregtCard);
+            SkillScoreStart(FightRoleType.TAEGET, out int t_skillScoreSelf, out int t_skillScoreOther, out Dictionary<int, int> targetSkillScoreDic, out bool showTaregtCard);
 
-            SkillScoreStart(RoleType.MINE, out int s_skillScoreSelf, out int s_skillScoreOther, out Dictionary<int, int> skillScoreDic, out bool showCard);
+            SkillScoreStart(FightRoleType.MINE, out int s_skillScoreSelf, out int s_skillScoreOther, out Dictionary<int, int> skillScoreDic, out bool showCard);
 
             if (t_skillScoreSelf > 0)
             {
@@ -270,9 +270,9 @@ namespace GFGGame
         private void UpdateSkill1()
         {
             //技能分加到部件分里
-            SkillScoreStart(RoleType.TAEGET, out int t_skillScoreSelf, out int t_skillScoreOther, out Dictionary<int, int> targetSkillScoreDic, out bool showTaregtCard);
+            SkillScoreStart(FightRoleType.TAEGET, out int t_skillScoreSelf, out int t_skillScoreOther, out Dictionary<int, int> targetSkillScoreDic, out bool showTaregtCard);
 
-            SkillScoreStart(RoleType.MINE, out int s_skillScoreSelf, out int s_skillScoreOther, out Dictionary<int, int> skillScoreDic, out bool showCard);
+            SkillScoreStart(FightRoleType.MINE, out int s_skillScoreSelf, out int s_skillScoreOther, out Dictionary<int, int> skillScoreDic, out bool showCard);
 
             if (t_skillScoreSelf > 0)
             {

binární
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0!a.png


binární
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0.png


binární
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1!a.png


binární
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_1.png


binární
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3!a.png


binární
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_3.png


binární
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4!a.png


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

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

binární
GameClient/Assets/ResIn/UI/Arena/Arena_atlas0_4.png


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

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

binární
GameClient/Assets/ResIn/UI/Arena/Arena_fui.bytes


binární
GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas0!a.png


binární
GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas0.png


binární
GameClient/Assets/ResIn/UI/DressUp/DressUp_fui.bytes