zhaoyang пре 2 година
родитељ
комит
efb788bff6
31 измењених фајлова са 527 додато и 320 уклоњено
  1. 3 3
      FGUIProject/assets/CommonGame/components/ComHead.xml
  2. 7 0
      FGUIProject/assets/CommonGame/components/ComHeadIcon.xml
  3. BIN
      FGUIProject/assets/CommonGame/images/beizif.png
  4. 2 0
      FGUIProject/assets/CommonGame/package.xml
  5. 6 3
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  6. 79 11
      GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs
  7. 2 0
      GameClient/Assets/Game/HotUpdate/Data/InstanceZonesDataManager.cs
  8. 1 1
      GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs
  9. 86 193
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  10. 11 0
      GameClient/Assets/Game/HotUpdate/Data/SkillDataManager.cs
  11. 23 6
      GameClient/Assets/Game/HotUpdate/Data/VO/FightData.cs
  12. 4 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHead.cs
  13. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHeadIcon.cs
  14. 1 1
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHeadIcon.cs.meta
  15. 7 7
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComTag.cs
  16. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComTag.cs.meta
  17. 37 8
      GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs
  18. 2 2
      GameClient/Assets/Game/HotUpdate/Views/ClothingShop/ClothingShopView.cs
  19. 3 4
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs
  20. 8 8
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs
  21. 90 51
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  22. 47 7
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs
  23. 2 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryLevelInfoView.cs
  24. 23 9
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs
  25. 1 1
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs
  26. BIN
      GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes
  27. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png
  28. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png
  29. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png
  30. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png
  31. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes

+ 3 - 3
FGUIProject/assets/CommonGame/components/ComHead.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="230,230" overflow="hidden" opaque="false">
   <displayList>
-    <graph id="n39_r9ri" name="n39" xy="30,37" pivot="0.5,0.5" size="166,166" group="n41_r9ri" aspect="true" type="eclipse" lineSize="0" fillColor="#ffeed5be"/>
-    <loader id="n40_r9ri" name="loaIcon" xy="31,38" size="166,164" group="n41_r9ri" url="ui://374k3dwvr9ri1z" align="center" fill="scale"/>
-    <image id="n35_r9ri" name="n35" src="r9ritjs" fileName="images/grxx_zytxtx.png" xy="28,35" size="170,171" group="n41_r9ri" aspect="true"/>
+    <graph id="n42_jcej" name="n42" xy="30,37" pivot="0.5,0.5" size="166,166" group="n41_r9ri" aspect="true" type="eclipse" lineSize="0" fillColor="#ffeed5be"/>
+    <component id="n39_r9ri" name="comHead" src="jcejtki" fileName="components/ComHeadIcon.xml" xy="30,37" group="n41_r9ri"/>
+    <image id="n35_r9ri" name="n35" src="r9ritjs" fileName="images/grxx_zytxtx.png" xy="28,36" size="170,171" group="n41_r9ri" aspect="true"/>
     <loader id="n37_r9ri" name="loaBorder" xy="0,0" pivot="0.5,0.5" size="230,230" group="n41_r9ri" touchable="false" url="ui://374k3dwvysx9ge" autoSize="true"/>
     <group id="n41_r9ri" name="n41" xy="0,0" size="230,230"/>
   </displayList>

+ 7 - 0
FGUIProject/assets/CommonGame/components/ComHeadIcon.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="167,166" mask="n39_r9ri">
+  <displayList>
+    <graph id="n39_r9ri" name="n39" xy="0,0" pivot="0.5,0.5" size="166,166" aspect="true" type="eclipse" lineSize="0" fillColor="#ffeed5be"/>
+    <loader id="n40_r9ri" name="loaIcon" xy="1,1" size="166,164" url="ui://eg2y0ldpjcejtkh" align="center" fill="scaleMatchWidth"/>
+  </displayList>
+</component>

BIN
FGUIProject/assets/CommonGame/images/beizif.png


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

@@ -231,6 +231,8 @@
     <component id="psphq" name="ComLv.xml" path="/components/" exported="true"/>
     <component id="psph10" name="ComHeadWithLv.xml" path="/components/" exported="true"/>
     <component id="psphtkg" name="BtnRule.xml" path="/components/" exported="true"/>
+    <image id="jcejtkh" name="beizif.png" path="/images/"/>
+    <component id="jcejtki" name="ComHeadIcon.xml" path="/components/"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\CommonGame" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

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

@@ -6,18 +6,21 @@ namespace GFGGame
     public class ArenaDataManager : SingletonBase<ArenaDataManager>
     {
         public List<int> ThemeList = new List<int>();//本周主题列表
-        public int Tag = 1;//本周标签
+        public string Tag;//本周标签
         public int SeasonId = 1;// 赛季id
         public int Grade = 1;//本赛季段位
         public int Rank = 10000;//本赛季段位内排名
         public int HighestGrade = 1;//本赛季最高段位
         public int HighestRank = 10000; //本赛最高季段位内排名
-        public Dictionary<int, FightRoleData> DressupDic = new Dictionary<int, FightRoleData>();//搭配列表
+        public Dictionary<int, FightRoleData> DressupDic = new Dictionary<int, FightRoleData>();//我的搭配列表
         public List<ArenaTargetData> Targets = new List<ArenaTargetData>();//对手
-        public ArenaTargetData selfData = new ArenaTargetData();//自己的排行榜信息
+        public ArenaTargetData SelfData = new ArenaTargetData();//自己的排行榜信息
         public List<ArenaTargetData> rankDatas = new List<ArenaTargetData>();//排行榜数据
         public List<ArenaHistoryData> historyDatas = new List<ArenaHistoryData>();//获取竞技场历史记录
 
+        public int SelectTargetIndex = 0;//当前选中挑战对象的下标
+        public int CurFightIndex = 0;//当前挑战的为第几场
+
 
         public void Clear()
         {

+ 79 - 11
GameClient/Assets/Game/HotUpdate/Data/FightDataManager.cs

@@ -1,3 +1,4 @@
+using System.Collections.Generic;
 using UnityEngine;
 
 namespace GFGGame
@@ -128,34 +129,101 @@ namespace GFGGame
 
         }
 
+        //获取玩家战斗数据
         public FightRoleData GetMyFightRoleData()
         {
             FightRoleData roleData = new FightRoleData();
-            roleData.cardId = InstanceZonesDataManager.currentCardId;
+            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 };
+            }
+            else
+            {
+                StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+                // roleData.fightScene = levelCfg.type;
+                if (!string.IsNullOrEmpty(levelCfg.fightID))
+                {
+                    StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+                    roleData.tags = fightCfg.needTagsArr;////本次战斗要求的标签
+                }
+            }
+            if (roleData.cardId > 0)
+            {
+                roleData.skillLvs = SkillDataManager.Instance.GetSkillLvs(roleData.cardId);
+            }
             roleData.itemList = MyDressUpHelper.dressUpObj.itemList;
-            return roleData;
-        }
-
-        public FightRoleData GetArenaFightRoleData()
-        {
-            FightRoleData roleData = new FightRoleData();
 
+            for (int i = 0; i < roleData.itemList.Count; i++)
+            {
+                int score = ItemDataManager.GetItemAdditionScore(roleData.itemList[i], roleData.scoreType);
+                roleData.itemScoreList.Add(score);
+            }
             return roleData;
         }
 
+        //获取副本机器人战斗数据
         public FightRobotData GetFightRobotData()
         {
             FightRobotData robotData = new FightRobotData();
 
+            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+            robotData.res = fightCfg.targetRes;
+            robotData.name = fightCfg.targetName;
+            robotData.scoreType = InstanceZonesDataManager.currentScoreType; //本次战斗的主题
+            robotData.baseScore = fightCfg.targetBaseScore;
+            robotData.cardId = fightCfg.targetCardId;
+            robotData.cardScore = fightCfg.targetCardScore;
+            robotData.skillLvs = new List<int>(fightCfg.targetSkillLvsArr);
+            robotData.targetPareScorList = new List<int>(fightCfg.targetPartsScoreArr);
             return robotData;
         }
 
-        public FightRobotData GetArenaRobotData()
+        //获取竞技场对手角色战斗数据
+        public FightRoleData GetArenaRoleData(int index, ArenaTargetData arenaTarget)
         {
-            FightRobotData robotData = new FightRobotData();
-
-            return robotData;
+            return arenaTarget.RoleDressupList[index];
+        }
+        //获取竞技场机器人战斗数据
+        public FightRobotData GetArenaRobotData(int index, ArenaTargetData arenaTarget)
+        {
+            return arenaTarget.RobotDressupList[index];
         }
 
+        /// <summary>
+        /// 0失败1优秀2完美
+        /// </summary>
+        /// <param name="scale"></param>
+        /// <returns></returns>
+        public int GetClickType(float scale)
+        {
+            // float scaleX = _ui.m_comClick.m_comResult.m_imgCircle.scale.x;
+            int clickType = ClickType.MISS_CLICK;
+            if (FightDataManager.Instance.autoPlay == true)
+            {
+                return ClickType.PREFACT_CLICK;
+            }
+            if (scale <= 0.866f && scale > 0.65f)
+            {
+                clickType = ClickType.PREFACT_CLICK;
+            }
+            else if (scale <= 0.216f)
+            {
+                clickType = ClickType.MISS_CLICK;
+            }
+            else
+            {
+                clickType = ClickType.GREAT_CLICK;
+            }
+            return clickType;
+        }
     }
 }

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Data/InstanceZonesDataManager.cs

@@ -18,6 +18,8 @@ namespace GFGGame
         public static bool isQuicklyFighting = false;
         //是否结算中
         public static bool isResultFighting = false;
+        //战斗场景
+        public static int FightScene;
 
 
         public static string[] currentFightTags;

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

@@ -173,7 +173,7 @@ namespace GFGGame
             ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(roleBorderId == 0 ? ConstItemID.HEADBORDERID : roleBorderId);
 
             UI_ComHead comHead = UI_ComHead.Proxy(component);
-            comHead.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
+            comHead.m_comHead.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
             comHead.m_loaBorder.url = ResPathUtil.GetHeadBorderPath(headBorderCfg.res);
             UI_ComHead.ProxyEnd();
 

+ 86 - 193
GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs

@@ -29,43 +29,42 @@ namespace GFGGame
     {
 
         public const int MINE = 0;
-        public const int ENEMY = 1;
-        public const int ROBOT = 2;
+        public const int TAEGET = 1;
     }
 
+
     public class ScoreSystemData : SingletonBase<ScoreSystemData>
     {
-        private const float _prefectScale = 0.866f;//完美缩放比
-
-        private Dictionary<int, List<int>> equipDicWithPartId = new Dictionary<int, List<int>>();
 
         /// <summary>
         /// 将穿戴部件分组
         /// </summary>
-        public void SetEquipDicWithType()
+        public void SetEquipScoresWithPartId(FightRoleData roleData)
         {
-            equipDicWithPartId.Clear();
-            var equipDatas = MyDressUpHelper.dressUpObj.itemList;
-            for (int i = 0; i < equipDatas.Count; i++)
+            for (int i = 0; i < roleData.itemList.Count; i++)
             {
-
                 FightScoreCfg[] typeCfgs = FightScoreCfgArray.Instance.dataArray;
                 for (int j = 0; j < typeCfgs.Length; j++)
                 {
                     FightScoreCfg cfg = typeCfgs[j];
-                    if (equipDicWithPartId.ContainsKey(cfg.id) == false)
+                    if (roleData.pardScoreListDic.ContainsKey(cfg.id) == false)
                     {
-                        equipDicWithPartId.Add(cfg.id, new List<int>());
+                        roleData.pardScoreListDic.Add(cfg.id, new List<int>());
+                    }
+                    if (roleData.pardListDic.ContainsKey(cfg.id) == false)
+                    {
+                        roleData.pardListDic.Add(cfg.id, new List<int>());
                     }
 
                     bool isCheckFinish = false;
                     for (int k = 0; k < cfg.subTypesArr.Length; k++)
                     {
-                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(equipDatas[i]);
+                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(roleData.itemList[i]);
 
                         if (itemCfg.subType == cfg.subTypesArr[k])
                         {
-                            equipDicWithPartId[cfg.id].Add(equipDatas[i]);
+                            roleData.pardListDic[cfg.id].Add(roleData.itemList[i]);
+                            roleData.pardScoreListDic[cfg.id].Add(roleData.itemScoreList[i]);
                             isCheckFinish = true;
                             break;
                         }
@@ -79,44 +78,34 @@ namespace GFGGame
         /// 返回总主属性分
         /// </summary>
         /// <returns></returns>
-        public double GetMainScore()
+        public double GetMainScore(FightRoleData roleData)
         {
             //(部件属性分数+标签分数+人物基础分+卡牌属性分数)*4
 
-            var equipDatas = MyDressUpHelper.dressUpObj.itemList;
             int partScore = 0;
             double tagScore = 0;
-            // StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            // StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
 
-            for (int i = 0; i < equipDatas.Count; i++)
+            for (int i = 0; i < roleData.itemList.Count; i++)
             {
-                partScore += ItemDataManager.GetItemAdditionScore(equipDatas[i], InstanceZonesDataManager.currentScoreType);
-                tagScore = ItemDataManager.GetItemTagScore(equipDatas[i], InstanceZonesDataManager.currentFightTags);
-
+                partScore += ItemDataManager.GetItemAdditionScore(roleData.itemList[i], roleData.scoreType);
+                tagScore = ItemDataManager.GetItemTagScore(roleData.itemList[i], roleData.tags);
             }
-            int roleScore = RoleLevelCfgArray.Instance.GetCfg(GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl)).baseScore;
-            int cardScore = ItemDataManager.GetItemAdditionScore(InstanceZonesDataManager.currentCardId, InstanceZonesDataManager.currentScoreType);
 
-            return (partScore + tagScore + roleScore + cardScore) * ConstScoreSystem.MAIN_SCORE;
+            return (partScore + tagScore + roleData.baseScore + roleData.cardScore) * ConstScoreSystem.MAIN_SCORE;
         }
 
-        public double GetTargetMainScore()
+        public double GetRobotMainScore(FightRobotData robotData)
         {
             //(部件属性分数+标签分数+人物基础分+卡牌属性分数)*4
 
             int partScore = 0;
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
 
             for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
             {
-                partScore += fightCfg.targetPartsScoreArr[i];
+                partScore += robotData.targetPareScorList[i];
             }
-            int roleScore = fightCfg.targetBaseScore;
-            int cardScore = fightCfg.targetCardScore;
 
-            return (partScore + roleScore + cardScore) * ConstScoreSystem.MAIN_SCORE;
+            return (partScore + robotData.baseScore + robotData.cardScore) * ConstScoreSystem.MAIN_SCORE;
         }
 
 
@@ -129,32 +118,43 @@ namespace GFGGame
         /// <param name="type">评分部位</param>
         /// <param name="showCard">是否展示卡牌效果</param>
         /// <returns></returns>
-        public int GetPartScore(int partId, int roleType, int clickType, double skillScore)
+        public int GetPartScore(FightRoleData roleData, int partId, int clickType, double skillScore)
         {
 
             //部件评分=部件基础分*部件系数
             //点击评分=(部件基础分+(人物基础分+卡牌属性分数)*点击系数)*2.22   (新点击公式,防止点击优秀却因为未穿衣服结果是0分)
             //卡牌评分=总属性*技能配表百分比
-            double partScore = GetPartScore(partId, roleType);
+            double partBaseScore = GetPartBaseScore(roleData.pardListDic[partId], roleData.pardScoreListDic[partId]);
 
-            double clickScore = ScoreSystemData.Instance.GetPartItemClickScore(partId, clickType, roleType);
+            double partScore = partBaseScore * ConstScoreSystem.PART_SCORE;
+
+            int roleScore = roleData.baseScore;
+            int cardScore = roleData.cardScore;
+
+            double clickCoefficient = GetPartItemClickScore(clickType);
+            double clickScore = (partBaseScore + (roleScore + cardScore) * clickCoefficient) * ConstScoreSystem.CLICK_SCORE;
 
             int score = (int)Math.Ceiling(partScore + clickScore + skillScore);
             return Math.Max(0, score);
-            // return (int)Math.Round((partScore + skillScore));
         }
-        private double GetPartScore(int partId, int roleType)
+
+        public int GetRobotPartScore(FightRobotData robotData, int partId, int clickType, double skillScore)
         {
-            double partScore = 0;
-            if (roleType == RoleType.MINE)
-            {
-                partScore = GetPartBaseScore(partId) * ConstScoreSystem.PART_SCORE;
-            }
-            else
-            {
-                partScore = GetTargetPartBaseScore(partId) * ConstScoreSystem.PART_SCORE;
-            }
-            return partScore;
+            //部件评分=部件基础分*部件系数
+            //点击评分=(部件基础分+(人物基础分+卡牌属性分数)*点击系数)*2.22   (新点击公式,防止点击优秀却因为未穿衣服结果是0分)
+            //卡牌评分=总属性*技能配表百分比
+            double partBaseScore = robotData.targetPareScorList[partId - 1];
+
+            double partScore = partBaseScore * ConstScoreSystem.PART_SCORE;
+
+            int roleScore = robotData.baseScore;
+            int cardScore = robotData.cardScore;
+
+            double clickCoefficient = GetPartItemClickScore(clickType);
+            double clickScore = (partBaseScore + (cardScore + roleScore) * clickCoefficient) * ConstScoreSystem.CLICK_SCORE;
+
+            int score = (int)Math.Ceiling(partScore + clickScore + skillScore);
+            return Math.Max(0, score);
         }
 
         /// <summary>
@@ -162,38 +162,26 @@ namespace GFGGame
         /// </summary>
         /// <param name="partId">评分部位</param>
         /// <returns></returns>
-        private double GetPartBaseScore(int partId)
+        private double GetPartBaseScore(List<int> partList, List<int> partScoreList)
         {
             double partScore = 0;
             double tagScore = 0;
-            if (!equipDicWithPartId.ContainsKey(partId)) return partScore;
+            if (partScoreList == null || partScoreList.Count == 0) return partScore;
 
-            for (int i = 0; i < equipDicWithPartId[partId].Count; i++)
+            for (int i = 0; i < partScoreList.Count; i++)
             {
-                partScore += ItemDataManager.GetItemAdditionScore(equipDicWithPartId[partId][i], InstanceZonesDataManager.currentScoreType);
-                tagScore += ItemDataManager.GetItemTagScore(equipDicWithPartId[partId][i], InstanceZonesDataManager.currentFightTags);
+                partScore += partScoreList[i];
+                tagScore += ItemDataManager.GetItemTagScore(partList[i], InstanceZonesDataManager.currentFightTags);
             }
             return partScore + tagScore;
         }
 
-        private double GetTargetPartBaseScore(int partId)
-        {
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-            if (fightCfg.targetPartsScoreArr.Length < FightScoreCfgArray.Instance.dataArray.Length)
-            {
-                ET.Log.Debug("战斗id:" + fightCfg.id + "   targetPartsScore   数量不足");
-                return 0;
-            }
-            return fightCfg.targetPartsScoreArr[partId - 1];
-        }
-
 
-        private double GetPartItemClickScore(int partId, int clickState, int roleType)
+        private double GetPartItemClickScore(int clickType)
         {
             //点击评分=(部件基础分+(人物基础分+卡牌属性分数)*点击系数)*2.22
             double clickCoefficient = 0;
-            switch (clickState)
+            switch (clickType)
             {
                 case ClickType.MISS_CLICK:
                     clickCoefficient = ConstScoreSystem.MISS_SCORE;
@@ -205,118 +193,50 @@ namespace GFGGame
                     clickCoefficient = ConstScoreSystem.PERFECT_SCORE;
                     break;
             }
-            double clickScore = 0;
-            if (roleType == RoleType.MINE)
-            {
-                int roleScore = RoleLevelCfgArray.Instance.GetCfg(GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl)).baseScore;
-                int cardScore = ItemDataManager.GetItemAdditionScore(InstanceZonesDataManager.currentCardId, InstanceZonesDataManager.currentScoreType);
-                clickScore = (GetPartBaseScore(partId) + (cardScore + roleScore) * clickCoefficient) * ConstScoreSystem.CLICK_SCORE;
-            }
-            else
-            {
-                StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-                int roleScore = fightCfg.targetBaseScore;
-                int cardScore = fightCfg.targetCardScore;
-                clickScore = (GetTargetPartBaseScore(partId) + (cardScore + roleScore) * clickCoefficient) * ConstScoreSystem.CLICK_SCORE;
-            }
-            return clickScore;
+            return clickCoefficient;
         }
 
         /// <summary>
         /// 获取卡牌技能持续回合数
         /// </summary>
         /// <returns></returns>
-        public List<int> GetRoundTime(int roleType)
+        public List<int> GetRoundTime(int cardId, List<int> skillLvs)
         {
             List<int> roundTimes = new List<int>();
 
-            if (roleType == RoleType.MINE)
+            List<PassivitySkillCfg> targetSkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+            for (int i = 0; i < targetSkillCfgs.Count; i++)
             {
-                List<PassivitySkillCfg> mySkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(InstanceZonesDataManager.currentCardId);
-                for (int i = 0; i < mySkillCfgs.Count; i++)
+                int skillLv = skillLvs[i];
+                PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, targetSkillCfgs[i].skillId);
+                if (skillLvlCfg.beginTime == BeginTime.PART_ALL_FIGHT_BEGIN && UnityEngine.Random.Range(0, 10000) < skillLvlCfg.probability)
                 {
-                    int skillLv = SkillDataManager.Instance.GetSkillLv(InstanceZonesDataManager.currentLevelCfgId, mySkillCfgs[i].skillId);
-                    PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, mySkillCfgs[i].skillId);
-                    if (skillLvlCfg.beginTime == BeginTime.PART_ALL_FIGHT_BEGIN && UnityEngine.Random.Range(0, 10000) < skillLvlCfg.probability)
-                    {
-                        roundTimes.Add(skillLvlCfg.roundTime);
-                    }
-                    else
-                    {
-                        roundTimes.Add(0);
-                    }
+                    roundTimes.Add(skillLvlCfg.roundTime);
                 }
-            }
-            else
-            {
-                StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-                List<PassivitySkillCfg> targetSkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(fightCfg.targetCardId);
-                for (int i = 0; i < targetSkillCfgs.Count; i++)
+                else
                 {
-                    int skillLv = fightCfg.targetSkillLvsArr[i];
-                    PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, targetSkillCfgs[i].skillId);
-                    if (skillLvlCfg.beginTime == BeginTime.PART_ALL_FIGHT_BEGIN && UnityEngine.Random.Range(0, 10000) < skillLvlCfg.probability)
-                    {
-                        roundTimes.Add(skillLvlCfg.roundTime);
-                    }
-                    else
-                    {
-                        roundTimes.Add(0);
-                    }
+                    roundTimes.Add(0);
                 }
             }
             return roundTimes;
         }
 
+
         /// <summary>
         /// 获取有效技能配置,过滤掉:被对方失效的、不符合作用时机、未满足触发概率的技能
         /// </summary>
         /// <returns></returns>
-        public List<PassivitySkillLvlCfg> GetValidSkills(int currentTime, int partId, int roleType, List<int> roundTimes, List<int> targetRoundTimes)
+        public List<PassivitySkillLvlCfg> GetValidSkills(int currentTime, int partId, int cardId, List<int> skillLvs, int targetCardId, List<int> targetSkillLvs, List<int> roundTimes, List<int> targetRoundTimes)
         {
             List<PassivitySkillLvlCfg> skillCfgs = new List<PassivitySkillLvlCfg>();
 
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-
-            int cardId = 0;
-            int targetCardId;
-            if (roleType == RoleType.MINE)
-            {
-                cardId = InstanceZonesDataManager.currentCardId;
-                targetCardId = fightCfg.targetCardId;
-            }
-            else
-            {
-                targetCardId = InstanceZonesDataManager.currentCardId;
-                cardId = fightCfg.targetCardId;
-            }
-
-            List<PassivitySkillCfg> mySkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
             List<PassivitySkillCfg> targetSkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(targetCardId);
 
             List<int> nullifySkillIndex = new List<int>();
             for (int i = 0; i < targetSkillCfgs.Count; i++)
             {
-                PassivitySkillCfg skillCfg = targetSkillCfgs[i];
-                int targetSkillLv = 0;
-                if (roleType == RoleType.MINE)
-                {
-                    targetSkillLv = fightCfg.targetSkillLvsArr[i];
-                }
-                else
-                {
-                    targetSkillLv = SkillDataManager.Instance.GetSkillLv(targetCardId, skillCfg.skillId);
-                }
-                PassivitySkillLvlCfg targetSkillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(targetSkillLv, skillCfg.skillId);
-
-                if (targetSkillLvlCfg.beginTime == BeginTime.PART_ALL_FIGHT_BEGIN && currentTime == BeginTime.PART_FIGHT_BEGIN
-               || targetSkillLvlCfg.beginTime == BeginTime.PART_PREFACT_CLICK && currentTime == BeginTime.PART_PREFACT_CLICK
-               || targetSkillLvlCfg.beginTime == BeginTime.PART_FIGHT_BEGIN && currentTime == BeginTime.PART_FIGHT_BEGIN
-               || targetSkillLvlCfg.beginTime == BeginTime.PART_FIGHT_END && currentTime == BeginTime.PART_FIGHT_END
-               || targetSkillLvlCfg.beginTime <= BeginTime.PART_SCORE_6 && currentTime == BeginTime.PART_FIGHT_BEGIN && partId == targetSkillLvlCfg.beginTime)
+                PassivitySkillLvlCfg targetSkillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(targetSkillLvs[i], targetSkillCfgs[i].skillId);
+                if (CheckIsRightTime(targetSkillLvlCfg, currentTime, partId))
                 {
                     bool isProbability = targetSkillLvlCfg.nullifySkillIndex > 0 && UnityEngine.Random.Range(0, 10000) < targetSkillLvlCfg.probability;
                     if (targetSkillLvlCfg.beginTime == BeginTime.PART_ALL_FIGHT_BEGIN && targetRoundTimes != null && partId < targetRoundTimes[i]) isProbability = true;
@@ -324,38 +244,37 @@ namespace GFGGame
                 }
             }
 
+            List<PassivitySkillCfg> mySkillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+
             for (int i = 0; i < mySkillCfgs.Count; i++)
             {
-                PassivitySkillCfg skillCfg = mySkillCfgs[i];
-                int mySkillLv = 0;
-                if (roleType == RoleType.MINE)
-                {
-                    mySkillLv = SkillDataManager.Instance.GetSkillLv(cardId, skillCfg.skillId);
-                }
-                else
-                {
-                    mySkillLv = fightCfg.targetSkillLvsArr[i];
-                }
-                PassivitySkillLvlCfg mySkillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(mySkillLv, skillCfg.skillId);
+                PassivitySkillLvlCfg mySkillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLvs[i], mySkillCfgs[i].skillId);
 
                 if (nullifySkillIndex.IndexOf(i + 1) >= 0) continue;//技能被对手失效
 
-                if (mySkillLvlCfg.beginTime == BeginTime.PART_ALL_FIGHT_BEGIN && currentTime == BeginTime.PART_FIGHT_BEGIN
-              || mySkillLvlCfg.beginTime == BeginTime.PART_PREFACT_CLICK && currentTime == BeginTime.PART_PREFACT_CLICK
-              || mySkillLvlCfg.beginTime == BeginTime.PART_FIGHT_BEGIN && currentTime == BeginTime.PART_FIGHT_BEGIN
-              || mySkillLvlCfg.beginTime == BeginTime.PART_FIGHT_END && currentTime == BeginTime.PART_FIGHT_END
-              || mySkillLvlCfg.beginTime <= BeginTime.PART_SCORE_6 && currentTime == BeginTime.PART_FIGHT_BEGIN && partId == mySkillLvlCfg.beginTime)
+                if (CheckIsRightTime(mySkillLvlCfg, currentTime, partId))
                 {
-
                     bool isProbability = UnityEngine.Random.Range(0, 10000) < mySkillLvlCfg.probability;
                     if (mySkillLvlCfg.beginTime == BeginTime.PART_ALL_FIGHT_BEGIN && roundTimes != null && partId < roundTimes[i]) isProbability = true;
                     if (isProbability) skillCfgs.Add(mySkillLvlCfg);
                 }
-
             }
             return skillCfgs;
         }
 
+        private bool CheckIsRightTime(PassivitySkillLvlCfg skillLvlCfg, int currentTime, int partId)
+        {
+
+            if (skillLvlCfg.beginTime == BeginTime.PART_ALL_FIGHT_BEGIN && currentTime == BeginTime.PART_FIGHT_BEGIN
+          || skillLvlCfg.beginTime == BeginTime.PART_PREFACT_CLICK && currentTime == BeginTime.PART_PREFACT_CLICK
+          || skillLvlCfg.beginTime == BeginTime.PART_FIGHT_BEGIN && currentTime == BeginTime.PART_FIGHT_BEGIN
+          || skillLvlCfg.beginTime == BeginTime.PART_FIGHT_END && currentTime == BeginTime.PART_FIGHT_END
+          || skillLvlCfg.beginTime <= BeginTime.PART_SCORE_6 && currentTime == BeginTime.PART_FIGHT_BEGIN && partId == skillLvlCfg.beginTime)
+            {
+                return true;
+            }
+            return false;
+        }
         /// <summary>
         /// 本轮技能分数
         /// </summary>
@@ -472,32 +391,6 @@ namespace GFGGame
             }
             return null;
         }
-        /// <summary>
-        /// 0失败1优秀2完美
-        /// </summary>
-        /// <param name="scale"></param>
-        /// <returns></returns>
-        public int GetClickType(float scale)
-        {
-            // float scaleX = _ui.m_comClick.m_comResult.m_imgCircle.scale.x;
-            int clickType = ClickType.MISS_CLICK;
-            if (FightDataManager.Instance.autoPlay == true)
-            {
-                return ClickType.PREFACT_CLICK;
-            }
-            if (scale <= _prefectScale && scale > 0.65f)
-            {
-                clickType = ClickType.PREFACT_CLICK;
-            }
-            else if (scale <= 0.216f)
-            {
-                clickType = ClickType.MISS_CLICK;
-            }
-            else
-            {
-                clickType = ClickType.GREAT_CLICK;
-            }
-            return clickType;
-        }
+
     }
 }

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/SkillDataManager.cs

@@ -60,6 +60,17 @@ namespace GFGGame
             }
             return lv;
         }
+        public List<int> GetSkillLvs(int cardId)
+        {
+            List<int> skillLvs = new List<int>();
+            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
+
+            for (int i = 0; i < skillCfgs.Count; i++)
+            {
+                skillLvs.Add(GetSkillLv(cardId, skillCfgs[i].skillId));
+            }
+            return skillLvs;
+        }
 
     }
 }

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

@@ -4,17 +4,34 @@ namespace GFGGame
 {
     public class FightRoleData
     {
-        public int cardId;
+
+        // public int fightScene;//玩家自己才会填充数据, 战斗场景,由ConstInstanceZonesType定义
+        public string name;//玩家名字
+        public int headId;//头像id
+        public int headBorderId;//头像框id
+        public int scoreType;//本次战斗的主题
+        public int baseScore;//角色等级分数
+        public int cardId;//卡牌id
+        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 List<int> itemScoreList = new List<int>();//对应服装当前主题的实际分数
         public List<int> itemList = new List<int>();
 
     }
     public class FightRobotData
     {
-        public List<int> targetItemList = new List<int>();
-        public int targetBaseScore;
-        public int targetCardId;
-        public int targetCardScore;
+        public string name;
+        public string res;//资源名
+        public int scoreType;//本次战斗的主题
+        public int baseScore;
+        public int cardId;
+        public int cardScore;
+        public string[] tags = { };////本次战斗要求的标签
         public List<int> skillLvs = new List<int>();
-        public int showSuit;//机器人服装,仅展示用
+        public List<int> targetPareScorList = new List<int>();
+        public int showSuitId;//机器人服装,仅展示用
     }
 }

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

@@ -7,7 +7,7 @@ namespace UI.CommonGame
     public partial class UI_ComHead
     {
         public GComponent target;
-        public GLoader m_loaIcon;
+        public UI_ComHeadIcon m_comHead;
         public GLoader m_loaBorder;
         public const string URL = "ui://eg2y0ldpr9ri1h";
         public const string PACKAGE_NAME = "CommonGame";
@@ -56,12 +56,13 @@ namespace UI.CommonGame
 
         private void Init(GComponent comp)
         {
-            m_loaIcon = (GLoader)comp.GetChild("loaIcon");
+            m_comHead = (UI_ComHeadIcon)UI_ComHeadIcon.Create(comp.GetChild("comHead"));
             m_loaBorder = (GLoader)comp.GetChild("loaBorder");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_loaIcon = null;
+            m_comHead.Dispose();
+            m_comHead = null;
             m_loaBorder = null;
             if(disposeTarget && target != null)
             {

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHeadIcon.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.CommonGame
+{
+    public partial class UI_ComHeadIcon
+    {
+        public GComponent target;
+        public GLoader m_loaIcon;
+        public const string URL = "ui://eg2y0ldpjcejtki";
+        public const string PACKAGE_NAME = "CommonGame";
+        public const string RES_NAME = "ComHeadIcon";
+        private static UI_ComHeadIcon _proxy;
+
+        public static UI_ComHeadIcon Create(GObject gObject = null)
+        {
+            var ui = new UI_ComHeadIcon();
+            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_ComHeadIcon Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComHeadIcon();
+            }
+            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_loaIcon = (GLoader)comp.GetChild("loaIcon");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaIcon = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ListTagItem.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComHeadIcon.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 67077fcd27fbead40952e8dfcf8e0d9e
+guid: 53730a47e8bab5d43a86935a980513bc
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ListTagItem.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComTag.cs

@@ -4,19 +4,19 @@ using FairyGUI;
 
 namespace UI.CommonGame
 {
-    public partial class UI_ListTagItem
+    public partial class UI_ComTag
     {
         public GComponent target;
         public GLoader m_loaTag;
         public GTextField m_txtTag;
         public const string URL = "ui://eg2y0ldpih7566";
         public const string PACKAGE_NAME = "CommonGame";
-        public const string RES_NAME = "ListTagItem";
-        private static UI_ListTagItem _proxy;
+        public const string RES_NAME = "ComTag";
+        private static UI_ComTag _proxy;
 
-        public static UI_ListTagItem Create(GObject gObject = null)
+        public static UI_ComTag Create(GObject gObject = null)
         {
-            var ui = new UI_ListTagItem();
+            var ui = new UI_ComTag();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -25,11 +25,11 @@ namespace UI.CommonGame
             return ui;
         }
 
-        public static UI_ListTagItem Proxy(GObject gObject = null)
+        public static UI_ComTag Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_ListTagItem();
+                _proxy = new UI_ComTag();
             }
             var ui = _proxy;
             if(gObject == null)

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ComTag.cs.meta

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

+ 37 - 8
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -35,6 +35,7 @@ namespace GFGGame
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                     ArenaDataManager.Instance.ThemeList = response.ThemeList;
+                    // ArenaDataManager.Instance.Tag = response.Tag;
                     ArenaDataManager.Instance.SeasonId = response.SeasonId;
                     ArenaDataManager.Instance.Grade = response.Grade;
                     ArenaDataManager.Instance.Rank = response.RankInGrade;
@@ -159,7 +160,7 @@ namespace GFGGame
                     {
                         ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.ranks[i]));
                     }
-                    ArenaDataManager.Instance.selfData = GetArenaTargetData(response.self);
+                    ArenaDataManager.Instance.SelfData = GetArenaTargetData(response.self);
                 }
             }
         }
@@ -182,7 +183,28 @@ namespace GFGGame
             }
         }
 
-        public static ArenaHistoryData GetArenaHistoryData(ArenaHistory arenaHistory)
+        //获取对手套装属性
+        public static async ETTask ReqArenaFightAttr(int roleId, List<FightRoleData> list)
+        {
+            S2C_ArenaFightAttr response = null;
+            response = (S2C_ArenaFightAttr)await MessageHelper.SendToServer(new C2S_ArenaFightAttr() { TargetRoleId = roleId });
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    for (int i = 0; i < response.data.Count; i++)
+                    {
+                        list[i].cardScore = response.data[i].CardScore;
+                        list[i].skillLvs = response.data[i].SkillLevel;
+                        list[i].itemScoreList = response.data[i].SuitScore;
+                    }
+                }
+            }
+        }
+
+
+
+        public static ArenaHistoryData GetArenaHistoryData(ArenaHistoryProto arenaHistory)
         {
             ArenaHistoryData arenaTarget = new ArenaHistoryData();
 
@@ -205,8 +227,13 @@ namespace GFGGame
                 if (arenaTarget.Type == ArenaFightTargetType.PLAYER)
                 {
                     FightRoleData roleData = new FightRoleData();
+                    roleData.name = arenaTarget.RoleInfo.roleName;
+                    roleData.headId = arenaTarget.RoleInfo.roleHead;
+                    roleData.headBorderId = arenaTarget.RoleInfo.roleHeadBorder;
+                    roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(arenaTargetProto.RoleInfo.RoleLvl).baseScore;
                     roleData.cardId = arenaTargetProto.PlayerDressupList[j].CardId;
                     roleData.itemList = arenaTargetProto.PlayerDressupList[j].EquipIds;
+                    if (j == 0) roleData.tags = new string[1] { ArenaDataManager.Instance.Tag };
 
                     arenaTarget.RoleDressupList.Add(roleData);
                 }
@@ -214,13 +241,15 @@ namespace GFGGame
                 {
                     ArenaRobotCfg robotCfg = ArenaRobotCfgArray.Instance.GetCfg(arenaTargetProto.RobotDressupInfo.RobotId);
                     FightRobotData robotData = new FightRobotData();
-                    robotData.targetItemList = new List<int>(robotCfg.partsScoreArr);
-                    robotData.targetBaseScore = robotCfg.baseScore;
-                    robotData.targetCardId = robotCfg.cardIdsArr[j];
-                    robotData.targetCardScore = robotCfg.cardScore * arenaTargetProto.RobotDressupInfo.Random;
+                    robotData.name = robotCfg.gradeName;
+                    robotData.res = robotCfg.targetRes;
+                    robotData.targetPareScorList = new List<int>(robotCfg.partsScoreArr);
+                    robotData.baseScore = robotCfg.baseScore;
+                    robotData.cardId = robotCfg.cardIdsArr[j];
+                    robotData.cardScore = robotCfg.cardScore * arenaTargetProto.RobotDressupInfo.Random;
                     robotData.skillLvs.Add(robotCfg.skillLvs);
-                    robotData.targetCardScore = robotCfg.cardScore * arenaTargetProto.RobotDressupInfo.Random;
-                    robotData.showSuit = robotCfg.suitIdsArr[j];
+                    robotData.showSuitId = robotCfg.suitIdsArr[j];
+                    if (j == 0) robotData.tags = new string[1] { ArenaDataManager.Instance.Tag };
 
                     arenaTarget.RobotDressupList.Add(robotData);
                 }

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/ClothingShop/ClothingShopView.cs

@@ -400,13 +400,13 @@ namespace GFGGame
 
         private void RenderListTagItem(int index, GObject obj)
         {
-            UI_ListTagItem item = UI_ListTagItem.Proxy(obj);
+            UI_ComTag item = UI_ComTag.Proxy(obj);
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_cfgSelected.itemID);
             string tag = itemCfg.tagsArr[index][0];
             int tagType = TagCfgArray.Instance.GetCfg(tag).type;
             item.m_txtTag.text = tag;
             item.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tagType);
-            UI_ListTagItem.ProxyEnd();
+            UI_ComTag.ProxyEnd();
         }
         private void CheckGuide(object param)
         {

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

@@ -142,7 +142,7 @@ namespace GFGGame
                 _fightCfg.scoreType = FieldDataManager.Instance.fieldInfos.theme;
                 _ui.m_btnAutoPlay.visible = false;
             }
-
+            InstanceZonesDataManager.FightScene = _levelCfg.type;
 
             _ui.m_compNeed.target.visible = _fightCfg.needItemId > 0 || _fightCfg.needSuitId > 0 || _fightCfg.needTagsArr.Length > 0;
             if (_ui.m_compNeed.target.visible)
@@ -157,7 +157,6 @@ namespace GFGGame
                 {
                     _ui.m_compNeed.m_txtNeedName.text = ItemUtil.GetSuitName(_fightCfg.needSuitId);
                     _ui.m_compNeed.target.data = _fightCfg.needSuitId;
-
                 }
                 else
                 {
@@ -993,12 +992,12 @@ namespace GFGGame
         }
         private void RenderListTagItem(int index, GObject obj)
         {
-            UI.CommonGame.UI_ListTagItem item = UI.CommonGame.UI_ListTagItem.Proxy(obj);
+            UI.CommonGame.UI_ComTag item = UI.CommonGame.UI_ComTag.Proxy(obj);
             string tag = _fightCfg.needTagsArr[index];
             int tagType = TagCfgArray.Instance.GetCfg(tag).type;
             item.m_txtTag.text = tag;
             item.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tagType);
-            UI.CommonGame.UI_ListTagItem.ProxyEnd();
+            UI.CommonGame.UI_ComTag.ProxyEnd();
         }
         private bool CheckListCount(int type)
         {

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

@@ -10,8 +10,7 @@ namespace GFGGame
     public class StoryFightSingleScoreView : BaseView
     {
         private UI_StoryFightSingleScoreUI _ui;
-        // private GameObject _sceneObject;
-        // private GameObject _scenePrefab;
+        private FightRoleData roleData;
         private int _partId;//当前评分part
         private int _score;//当前总分数
         private int _skillScore = 0;//当前卡牌技能分
@@ -104,7 +103,8 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            ScoreSystemData.Instance.SetEquipDicWithType();
+            roleData = FightDataManager.Instance.GetMyFightRoleData();
+            ScoreSystemData.Instance.SetEquipScoresWithPartId(roleData);
 
             _nTexture = new NTexture(FightDataManager.Instance.RoleTextuex);
 
@@ -133,7 +133,7 @@ namespace GFGGame
             _partId = FightScoreCfgArray.Instance.dataArray[0].id;
             _score = 0;
             _skillScore = 0;//技能附加分
-            _mainScore = ScoreSystemData.Instance.GetMainScore();
+            _mainScore = ScoreSystemData.Instance.GetMainScore(roleData);
 
             _ui.m_comAllPerfect.target.onTouchBegin.Add(OnComAllCircleClickBegin);
             _ui.m_comAllPerfect.target.onTouchEnd.Add(AllCircleScoreEnd);
@@ -142,8 +142,8 @@ namespace GFGGame
 
         private void SkillScoreStart(object param)
         {
-            List<int> roundTimes = ScoreSystemData.Instance.GetRoundTime(RoleType.MINE);
-            List<PassivitySkillLvlCfg> vaildSkills = ScoreSystemData.Instance.GetValidSkills(_currentTime, _partId, RoleType.MINE, roundTimes, null);
+            List<int> roundTimes = ScoreSystemData.Instance.GetRoundTime(roleData.cardId, roleData.skillLvs);
+            List<PassivitySkillLvlCfg> vaildSkills = ScoreSystemData.Instance.GetValidSkills(_currentTime, _partId, roleData.cardId, roleData.skillLvs, 0, null, roundTimes, null);
             ScoreSystemData.Instance.GetPartItemSkillScore(vaildSkills, _mainScore, 0, out _skillScore, out int _targetScore, out Dictionary<int, int> skillScoreDic);
             bool _showCard = ScoreSystemData.Instance.IsShowCard(InstanceZonesDataManager.currentCardId, vaildSkills);
             if (_showCard)
@@ -215,7 +215,7 @@ namespace GFGGame
         {
             _skillScore = 0;
             _ui.m_comClick.target.touchable = false;
-            int clickType = ScoreSystemData.Instance.GetClickType(_ui.m_comClick.m_comResult.m_imgCircle.scale.x);
+            int clickType = FightDataManager.Instance.GetClickType(_ui.m_comClick.m_comResult.m_imgCircle.scale.x);
             _ui.m_comClick.m_comResult.m_t0.Stop(true, false);
 
             if (clickType == ClickType.PREFACT_CLICK)
@@ -235,7 +235,7 @@ namespace GFGGame
             _ui.m_comClick.target.touchable = false;
 
             PartScoreResultEnd();
-            _partScore = ScoreSystemData.Instance.GetPartScore(_partId, RoleType.MINE, clickType, _skillScore);
+            _partScore = ScoreSystemData.Instance.GetPartScore(roleData, RoleType.MINE, clickType, _skillScore);
             _score += _partScore;
 
             _ui.m_comClick.m_comResult.m_c1.selectedIndex = clickType;

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

@@ -4,16 +4,19 @@ using UI.Main;
 using System.Collections;
 using System;
 using System.Collections.Generic;
+using UI.CommonGame;
 
 namespace GFGGame
 {
     public class StoryFightTargetScoreView : BaseView
     {
         private UI_StoryFightTargetScoreUI _ui;
-        // private GameObject _sceneObject;
-        // private GameObject _scenePrefab;
-        private StoryLevelCfg _levelCfg;
-        private StoryFightCfg _fightCfg;
+
+        private int targetType = ArenaFightTargetType.ROBOT;
+        private FightRoleData roleData;
+        private FightRoleData targetRoleData;
+        private FightRobotData targetRobotData;
+
 
         private GameObject _gameObject2;
         private GoWrapper _wrapper2;
@@ -41,11 +44,7 @@ namespace GFGGame
 
         public override void Dispose()
         {
-            // if (_sceneObject != null)
-            // {
-            //     GameObject.Destroy(_sceneObject);
-            //     _sceneObject = null;
-            // }
+
             SceneController.DestroyObjectFromView(_gameObject1, _wrapper1);
             SceneController.DestroyObjectFromView(_gameObject2, _wrapper2);
             SceneController.DestroyObjectFromView(_gameObject5, _wrapper5);
@@ -74,7 +73,6 @@ namespace GFGGame
             viewCom = _ui.target;
             isfullScreen = true;
 
-            // _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneFightTargetScore"));
             _ui.m_loaBg.url = ResPathUtil.GetFightBgImgPath("fightBg");
             _ui.m_LoaMask.url = ResPathUtil.GetFightBgImgPath("fightBg");
 
@@ -105,63 +103,88 @@ namespace GFGGame
         {
             base.OnShown();
 
-            _nTexture = new NTexture(FightDataManager.Instance.RoleTextuex);
+            targetType = (int)(this.viewData as object[])[0];
+            roleData = (this.viewData as object[])[1] as FightRoleData;
 
-            ET.Log.Debug("Screen:" + UnityEngine.Screen.width + "  " + UnityEngine.Screen.height + "   _nTexture:" + _nTexture.width + "   " + _nTexture.height);
+            _nTexture = new NTexture(FightDataManager.Instance.RoleTextuex);
             _ui.m_imgRole.SetSize(GRoot.inst.width, GRoot.inst.height);
             _ui.m_imgRole.texture = _nTexture;
-
-            _levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            _fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
-            // SceneController.UpdateFightTarget(_fightCfg.targetRes, _sceneObject);
-
-            _nTexture = new NTexture(FightDataManager.Instance.RoleTextuex);
-
-            ET.Log.Debug("Screen:" + UnityEngine.Screen.width + "  " + UnityEngine.Screen.height + "   _nTexture:" + _nTexture.width + "   " + _nTexture.height);
-
-            RoleInfoManager.Instance.UpdateHead(_ui.m_myHead, RoleDataManager.headId, RoleDataManager.headBorderId);
-            _ui.m_targetHead.GetChild("loaIcon").asLoader.url = ResPathUtil.GetNpcHeadPath(_fightCfg.targetRes);
-
-            _ui.m_proScore.m_txtNpcScore.text = _fightCfg.targetName + " 0";
-            _ui.m_proScore.m_txtMineScore.text = RoleDataManager.roleName + " 0";
             _ui.m_btnBack.visible = true;
-
-            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            _isAutoPlay = FightDataManager.Instance.autoPlay;
+            if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Field || InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
             {
                 _ui.m_btnBack.visible = false;
+                _isAutoPlay = true;
             }
-
-            _isAutoPlay = _levelCfg.type == ConstInstanceZonesType.Field || FightDataManager.Instance.autoPlay;
-
             _ui.m_btnSpeedUp.visible = _isAutoPlay;
             _ui.m_btnSpeedUp.title = "x" + FightDataManager.Instance.fightSpeed;
             _ui.m_comAllPerfect.target.visible = false;
             _ui.m_LoaMask.visible = false;
             _ui.m_proScore.m_comBar.target.width = 0;
 
-            ScoreSystemData.Instance.SetEquipDicWithType();
+
+            if (targetType == ArenaFightTargetType.PLAYER)
+            {
+                targetRoleData = (this.viewData as object[])[2] as FightRoleData;
+                RoleInfoManager.Instance.UpdateHead(_ui.m_targetHead, targetRoleData.headId, targetRoleData.headBorderId);
+                _ui.m_proScore.m_txtNpcScore.text = targetRoleData.name + " 0";
+                ScoreSystemData.Instance.SetEquipScoresWithPartId(targetRoleData);
+                _targetMainScore = ScoreSystemData.Instance.GetMainScore(targetRoleData);
+                _targetRoundTimes = ScoreSystemData.Instance.GetRoundTime(targetRoleData.cardId, targetRoleData.skillLvs);
+
+            }
+            else if (targetType == ArenaFightTargetType.ROBOT)
+            {
+                targetRobotData = (this.viewData as object[])[2] as FightRobotData;
+                UI_ComHead comTargetHead = UI_ComHead.Proxy(_ui.m_targetHead);
+                comTargetHead.m_comHead.m_loaIcon.url = ResPathUtil.GetNpcHeadPath(targetRobotData.res);
+                UI_ComHead.ProxyEnd();
+                _ui.m_proScore.m_txtNpcScore.text = targetRobotData.name + " 0";
+                _targetMainScore = ScoreSystemData.Instance.GetRobotMainScore(targetRobotData);
+                _targetRoundTimes = ScoreSystemData.Instance.GetRoundTime(targetRobotData.cardId, targetRobotData.skillLvs);
+            }
+
+            RoleInfoManager.Instance.UpdateHead(_ui.m_myHead, roleData.headId, roleData.headBorderId);
+            _ui.m_proScore.m_txtMineScore.text = RoleDataManager.roleName + " 0";
+            ScoreSystemData.Instance.SetEquipScoresWithPartId(roleData);
+            _mainScore = ScoreSystemData.Instance.GetMainScore(roleData);
+            _roundTimes = ScoreSystemData.Instance.GetRoundTime(roleData.cardId, roleData.skillLvs);
 
             _partId = 1;
             _score = 0;
             _targetScore = 0;
-            _mainScore = ScoreSystemData.Instance.GetMainScore();
-            _targetMainScore = ScoreSystemData.Instance.GetTargetMainScore();
             _ui.m_comAllPerfect.target.onTouchBegin.Add(OnComAllCircleClickBegin);
             _ui.m_comAllPerfect.target.onTouchEnd.Add(AllCircleScoreEnd);
 
-            _roundTimes = ScoreSystemData.Instance.GetRoundTime(RoleType.MINE);
-            _targetRoundTimes = ScoreSystemData.Instance.GetRoundTime(RoleType.ENEMY);
-            ET.Log.Debug("zoya:  _mainScore:" + _mainScore);
-            ET.Log.Debug("zoya:  _targetMainScore:" + _targetMainScore);
             CheckPartAllFightBegin();
         }
         /****************************************************************************************************************/
-        private void SkillScoreStart(int roleType, double mainScore, double targetMainScore, int cardId, out int skillScore, out int targetSkillScore, out Dictionary<int, int> skillScoreDic, out bool showCard)
+        private void SkillScoreStart(int roleType, out int skillScore, out int targetSkillScore, out Dictionary<int, int> skillScoreDic, out bool showCard)
         {
-            List<PassivitySkillLvlCfg> vaildSkills = ScoreSystemData.Instance.GetValidSkills(_currentTime, _partId, roleType, _roundTimes, _targetRoundTimes);
-            ScoreSystemData.Instance.GetPartItemSkillScore(vaildSkills, mainScore, targetMainScore, out skillScore, out targetSkillScore, out skillScoreDic);
-            showCard = ScoreSystemData.Instance.IsShowCard(cardId, vaildSkills);
-
+            int targetCardId;
+            List<int> targetSkillLvs;
+            if (targetType == ArenaFightTargetType.PLAYER)
+            {
+                targetCardId = targetRoleData.cardId;
+                targetSkillLvs = targetRoleData.skillLvs;
+            }
+            else
+            {
+                targetCardId = targetRobotData.cardId;
+                targetSkillLvs = targetRobotData.skillLvs;
+            }
+            if (roleType == RoleType.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);
+                showCard = ScoreSystemData.Instance.IsShowCard(roleData.cardId, vaildSkills);
+            }
+            else
+            {
+                List<PassivitySkillLvlCfg> vaildSkills = ScoreSystemData.Instance.GetValidSkills(_currentTime, _partId, targetCardId, targetSkillLvs, roleData.cardId, roleData.skillLvs, _roundTimes, _targetRoundTimes);
+                ScoreSystemData.Instance.GetPartItemSkillScore(vaildSkills, _targetMainScore, _mainScore, out skillScore, out targetSkillScore, out skillScoreDic);
+                showCard = false;
+            }
         }
         private void ShowSkillCard(Dictionary<int, int> skillScoreDic, bool showCard)
         {
@@ -208,9 +231,9 @@ namespace GFGGame
         private void UpdateSkill0()
         {
             //技能分直接加到总分里
-            SkillScoreStart(RoleType.ENEMY, _targetMainScore, _mainScore, _fightCfg.targetCardId, out int t_skillScoreSelf, out int t_skillScoreOther, out Dictionary<int, int> targetSkillScoreDic, out bool showTaregtCard);
+            SkillScoreStart(RoleType.TAEGET, out int t_skillScoreSelf, out int t_skillScoreOther, out Dictionary<int, int> targetSkillScoreDic, out bool showTaregtCard);
 
-            SkillScoreStart(RoleType.MINE, _mainScore, _targetMainScore, InstanceZonesDataManager.currentCardId, out int s_skillScoreSelf, out int s_skillScoreOther, out Dictionary<int, int> skillScoreDic, out bool showCard);
+            SkillScoreStart(RoleType.MINE, out int s_skillScoreSelf, out int s_skillScoreOther, out Dictionary<int, int> skillScoreDic, out bool showCard);
 
             if (t_skillScoreSelf > 0)
             {
@@ -244,9 +267,9 @@ namespace GFGGame
         private void UpdateSkill1()
         {
             //技能分加到部件分里
-            SkillScoreStart(RoleType.ENEMY, _targetMainScore, _mainScore, _fightCfg.targetCardId, out int t_skillScoreSelf, out int t_skillScoreOther, out Dictionary<int, int> targetSkillScoreDic, out bool showTaregtCard);
+            SkillScoreStart(RoleType.TAEGET, out int t_skillScoreSelf, out int t_skillScoreOther, out Dictionary<int, int> targetSkillScoreDic, out bool showTaregtCard);
 
-            SkillScoreStart(RoleType.MINE, _mainScore, _targetMainScore, InstanceZonesDataManager.currentCardId, out int s_skillScoreSelf, out int s_skillScoreOther, out Dictionary<int, int> skillScoreDic, out bool showCard);
+            SkillScoreStart(RoleType.MINE, out int s_skillScoreSelf, out int s_skillScoreOther, out Dictionary<int, int> skillScoreDic, out bool showCard);
 
             if (t_skillScoreSelf > 0)
             {
@@ -336,7 +359,7 @@ namespace GFGGame
         {
 
             _ui.m_comClick.target.touchable = false;
-            int clickType = ScoreSystemData.Instance.GetClickType(_ui.m_comClick.m_comResult.m_imgCircle.scale.x);
+            int clickType = FightDataManager.Instance.GetClickType(_ui.m_comClick.m_comResult.m_imgCircle.scale.x);
             _ui.m_comClick.m_comResult.m_t0.Stop(true, false);
 
             if (clickType == ClickType.PREFACT_CLICK)
@@ -356,8 +379,16 @@ namespace GFGGame
 
             // ET.Log.Debug("zoya    _score:" + _score);
             // ET.Log.Debug("zoya    _targetScore:" + _targetScore);
-            int _partScore = ScoreSystemData.Instance.GetPartScore(_partId, RoleType.MINE, clickType, _skillScore);
-            int _targetPartScore = ScoreSystemData.Instance.GetPartScore(_partId, RoleType.ENEMY, ClickType.PREFACT_CLICK, _targetSkillScore);
+            int _partScore = ScoreSystemData.Instance.GetPartScore(roleData, _partId, clickType, _skillScore);
+            int _targetPartScore;
+            if (targetType == ArenaFightTargetType.PLAYER)
+            {
+                _targetPartScore = ScoreSystemData.Instance.GetPartScore(targetRoleData, _partId, ClickType.PREFACT_CLICK, _targetSkillScore);
+            }
+            else
+            {
+                _targetPartScore = ScoreSystemData.Instance.GetRobotPartScore(targetRobotData, _partId, ClickType.PREFACT_CLICK, _targetSkillScore);
+            }
             ET.Log.Debug("zoya    _partScore:" + _partScore);
             ET.Log.Debug("zoya    _targetPartScore:" + _targetPartScore);
             _score += _partScore;
@@ -397,7 +428,15 @@ namespace GFGGame
         private void UpdateProgress(Action onFinish)
         {
             _ui.m_proScore.m_txtMineScore.text = RoleDataManager.roleName + _score;
-            _ui.m_proScore.m_txtNpcScore.text = _fightCfg.targetName + _targetScore;
+            if (targetType == ArenaFightTargetType.PLAYER)
+            {
+
+                _ui.m_proScore.m_txtNpcScore.text = targetRoleData.name + _targetScore;
+            }
+            else
+            {
+                _ui.m_proScore.m_txtNpcScore.text = targetRobotData.name + _targetScore;
+            }
             double proportion = _score + _targetScore == 0 ? 0 : _score / (_score + _targetScore);
             float width = (float)(proportion * _ui.m_proScore.target.width);
             width = width > _ui.m_proScore.m_comBar.target.initWidth ? _ui.m_proScore.m_comBar.target.initWidth : width;

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

@@ -50,19 +50,59 @@ namespace GFGGame
             }
             MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, true);
             MyDressUpHelper.dressUpObj.UpdateRoleView();
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
-            SceneController.UpdateFightTarget(fightCfg.targetRes, _sceneObject);
-            if (!string.IsNullOrEmpty(fightCfg.music))
+
+            FightRoleData roleData = FightDataManager.Instance.GetMyFightRoleData();
+
+            object targetData;
+            int fightType;
+            if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
+            {
+                ArenaTargetData arenaTarget = ArenaDataManager.Instance.Targets[ArenaDataManager.Instance.SelectTargetIndex];
+                if (arenaTarget.Type == ArenaFightTargetType.ROBOT)
+                {
+                    fightType = ArenaFightTargetType.ROBOT;
+                    targetData = FightDataManager.Instance.GetArenaRobotData(0, arenaTarget);
+                }
+                else
+                {
+                    fightType = ArenaFightTargetType.PLAYER;
+                    targetData = FightDataManager.Instance.GetArenaRoleData(0, arenaTarget);
+                }
+                string musicName = "fight";
+                if (!string.IsNullOrEmpty(musicName))
+                {
+                    MusicManager.Instance.Play(ResPathUtil.GetMusicPath(musicName, "mp3"));
+                }
+            }
+            else
             {
-                MusicManager.Instance.Play(ResPathUtil.GetMusicPath(fightCfg.music, "mp3"));
+                fightType = ArenaFightTargetType.ROBOT;
+                targetData = FightDataManager.Instance.GetFightRobotData();
+
+                StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
+                if (!string.IsNullOrEmpty(fightCfg.music))
+                {
+                    MusicManager.Instance.Play(ResPathUtil.GetMusicPath(fightCfg.music, "mp3"));
+                }
             }
+
             _ui.m_roleName.m_txtName.text = RoleDataManager.roleName;
-            _ui.m_targetName.m_txtName.text = fightCfg.targetName;
+            _ui.m_targetName.m_txtName.text = targetData.GetType().GetField("name").GetValue(targetData).ToString();
+            if (fightType == ArenaFightTargetType.ROBOT)
+            {
+                string res = targetData.GetType().GetField("res").GetValue(targetData).ToString();
+                SceneController.UpdateFightTarget(res, _sceneObject);
+            }
+            else
+            {
+
+            }
+
             Timers.inst.Add(1.1f, 1, (object param) =>
             {
                 this.Hide();
-                ViewManager.Show(ViewName.STORY_FIGHT_TARGET_SCORE_VIEW);
+                ViewManager.Show<StoryFightTargetScoreView>(new object[] { fightType, roleData, targetData });
             });
         }
 

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

@@ -291,14 +291,14 @@ namespace GFGGame
 
         private void RenderListTagItem(int index, GObject obj)
         {
-            UI_ListTagItem item = UI_ListTagItem.Proxy(obj);
+            UI_ComTag item = UI_ComTag.Proxy(obj);
             StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(_levelID);
             StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
             string tag = fightCfg.needTagsArr[index];
             int tagType = TagCfgArray.Instance.GetCfg(tag).type;
             item.m_txtTag.text = tag;
             item.m_loaTag.url = ResPathUtil.GetCommonGameResPath("fzd_bqbq_" + tagType);
-            UI_ListTagItem.ProxyEnd();
+            UI_ComTag.ProxyEnd();
         }
 
         private void OnBtnAdditionDescClick()

+ 23 - 9
GameClient/Assets/Game/HotUpdate/Views/MainStory/StroyFightResultView.cs

@@ -20,7 +20,7 @@ namespace GFGGame
     {
         private UI_StoryFightResultUI _ui;
 
-        private StoryLevelCfg _levelCfg;
+        // private StoryLevelCfg _levelCfg;
         private StoryFightResultData _resultData;
 
         public override void Dispose()
@@ -74,7 +74,6 @@ namespace GFGGame
             _ui.m_comExpBar.m_txtLvl.text = string.Format("等级 {0}", GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl));
 
 
-            _levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
             if (!this._resultData.Result)
             {
                 _ui.m_comExpBar.target.visible = false;
@@ -84,13 +83,19 @@ namespace GFGGame
             {
                 _ui.m_comExpBar.target.visible = true;
                 _ui.m_btnClose.enabled = false;
+                if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
+                {
 
-                //过关
-                StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
-                _ui.m_comExpBar.m_txtLvlAdded.text = string.Format("经验值:+{0}", fightCfg.exp);
+                }
+                else
+                {
+                    StoryLevelCfg _levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
+                    StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
+                    _ui.m_comExpBar.m_txtLvlAdded.text = string.Format("经验值:+{0}", fightCfg.exp);
+                }
             }
 
-            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Field)
             {
                 _ui.m_comExpBar.target.visible = false;
                 Timers.inst.Add(3, 1, OnClickBtnClose);
@@ -110,8 +115,6 @@ namespace GFGGame
         }
         private void GetCurStar(out Transition transition)
         {
-            StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
-            StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
             transition = _ui.m_comRoleResult.m_t0;
             if (_resultData.Star == 1)
             {
@@ -140,7 +143,7 @@ namespace GFGGame
         private async void OnClickBtnClose(object param)
         {
             this.Hide();
-            if (_levelCfg.type == ConstInstanceZonesType.Field)
+            if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Field)
             {
                 Timers.inst.Remove(OnClickBtnClose);
 
@@ -160,6 +163,17 @@ namespace GFGGame
                     ViewManager.Show<FieldFightInfoView>();
                 }
             }
+            else if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
+            {
+                if (ArenaDataManager.Instance.CurFightIndex < ArenaDataManager.Instance.ThemeList.Count)
+                {
+                    ArenaDataManager.Instance.CurFightIndex++;
+                }
+                else
+                {
+
+                }
+            }
             else
             {
                 InstanceZonesController.OnFinishStoryLevel(InstanceZonesDataManager.currentLevelCfgId, _resultData.FirstPass, true);

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

@@ -39,7 +39,7 @@ namespace GFGGame
             _ui.m_btnFieldGuide.onClick.Add(OnBtnFieldGuideClick);
             _ui.m_btnSkill.onClick.Add(OnBtnSkillClick);
             _ui.m_btnSetting.onClick.Add(OnBtnSettingClick);
-            _ui.m_comHead.GetChild("loaIcon").asLoader.onClick.Add(OnComHeadClick);
+            _ui.m_comHead.GetChild("comHead").asCom.onClick.Add(OnComHeadClick);
 
 
             _ui.m_list.itemRenderer = RenderListItem;

BIN
GameClient/Assets/ResIn/Config/excelConfig.sqlite.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