فهرست منبع

换装代码整理

guodong 2 سال پیش
والد
کامیت
ec463b8113
42فایلهای تغییر یافته به همراه825 افزوده شده و 1024 حذف شده
  1. 8 8
      GameClient/Assets/Game/HotUpdate/Data/CustomSuitDataManager.cs
  2. 1 20
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs
  3. 4 18
      GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs
  4. 1 1
      GameClient/Assets/Game/HotUpdate/Data/InstanceZonesDataManager.cs
  5. 2 2
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  6. 5 8
      GameClient/Assets/Game/HotUpdate/Data/PhotographDataManager.cs
  7. 1 2
      GameClient/Assets/Game/HotUpdate/Data/PhotographSceneManager.cs
  8. 2 2
      GameClient/Assets/Game/HotUpdate/Data/ScoreSystemData.cs
  9. 1 1
      GameClient/Assets/Game/HotUpdate/Data/VO/CustomSuitData.cs
  10. 36 0
      GameClient/Assets/Game/HotUpdate/Data/VO/DressUpData.cs
  11. 1 1
      GameClient/Assets/Game/HotUpdate/Data/VO/DressUpData.cs.meta
  12. 0 37
      GameClient/Assets/Game/HotUpdate/Data/VO/EquipData.cs
  13. 551 0
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs
  14. 0 0
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs.meta
  15. 0 569
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjDataCache.cs
  16. 45 37
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpUtil.cs
  17. 19 13
      GameClient/Assets/Game/HotUpdate/DressUp/MyDressUpHelper.cs
  18. 1 1
      GameClient/Assets/Game/HotUpdate/DressUp/MyDressUpHelper.cs.meta
  19. 9 65
      GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs
  20. 3 6
      GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/ClothingShopCfgManager.cs
  21. 0 77
      GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/SuitCfgManager.cs
  22. 0 11
      GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/SuitCfgManager.cs.meta
  23. 6 6
      GameClient/Assets/Game/HotUpdate/ServerProxy/CustomSuitSProxy.cs
  24. 4 4
      GameClient/Assets/Game/HotUpdate/ServerProxy/RoleInfoSProxy.cs
  25. 5 5
      GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingView.cs
  26. 8 8
      GameClient/Assets/Game/HotUpdate/Views/ClothingShop/ClothingShopView.cs
  27. 9 9
      GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs
  28. 2 2
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/GetSuitItemController.cs
  29. 1 1
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs
  30. 8 8
      GameClient/Assets/Game/HotUpdate/Views/CommonGame/GetSuitItemVIew.cs
  31. 29 28
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs
  32. 32 34
      GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs
  33. 6 4
      GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs
  34. 0 1
      GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs
  35. 1 1
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitPartsDetailView.cs
  36. 9 19
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitShowView.cs
  37. 7 7
      GameClient/Assets/Game/HotUpdate/Views/Friend/FriendView.cs
  38. 2 2
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs
  39. 2 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleView.cs
  40. 2 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  41. 2 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetView.cs
  42. BIN
      GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes

+ 8 - 8
GameClient/Assets/Game/HotUpdate/Data/CustomSuitDataManager.cs

@@ -11,7 +11,7 @@ namespace GFGGame
 
 
         private static Dictionary<int, CustomSuitData> _dataDic = new Dictionary<int, CustomSuitData>();
-        public static void SaveSuit(int index, EquipData equipData)
+        public static void SaveSuit(int index, DressUpData dressUpData)
         {
             CustomSuitData suitSavedData = null;
             if (_dataDic.ContainsKey(index))
@@ -23,7 +23,7 @@ namespace GFGGame
                 suitSavedData = new CustomSuitData(index);
                 _dataDic.Add(index, suitSavedData);
             }
-            suitSavedData.EquipData = equipData;
+            suitSavedData.dressUpData = dressUpData;
         }
 
         public static CustomSuitData GetSuitList(int index)
@@ -44,7 +44,7 @@ namespace GFGGame
         public static CustomSuitData CreateDefaultSuitData(int index)
         {
             CustomSuitData suitSavedData = new CustomSuitData(index);
-            suitSavedData.EquipData = EquipData.CreateDefault();
+            suitSavedData.dressUpData = DressUpData.CreateDefault();
             return suitSavedData;
         }
 
@@ -59,7 +59,7 @@ namespace GFGGame
             {
                 currentIndex = index;
             }
-            CustomSuitSProxy.UpdateCustomSuit(index, EquipDataCache.cacher.GetEquiptDataClone()).Coroutine();
+            CustomSuitSProxy.UpdateCustomSuit(index, MyDressUpHelper.dressUpObj.DressUpDataClone()).Coroutine();
         }
 
         public static void InitServerData(List<CustomSuitProto> list)
@@ -71,12 +71,12 @@ namespace GFGGame
                 {
                     CustomSuitData suitSavedData = new CustomSuitData(suitProto.Pos);
                     _dataDic[suitProto.Pos] = suitSavedData;
-                    suitSavedData.EquipData.bgId = suitProto.BgId;
-                    suitSavedData.EquipData.suitId = suitProto.SuitId;
-                    suitSavedData.EquipData.isAction = suitProto.Pic;
+                    suitSavedData.dressUpData.bgId = suitProto.BgId;
+                    suitSavedData.dressUpData.suitId = suitProto.SuitId;
+                    suitSavedData.dressUpData.actionId = suitProto.ActionId;
                     foreach (var equipId in suitProto.EquipIds)
                     {
-                        suitSavedData.EquipData.equipDatas.Add(equipId);
+                        suitSavedData.dressUpData.itemList.Add(equipId);
                     }
                 }
             }

+ 1 - 20
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuItemDataManager.cs

@@ -244,7 +244,7 @@ namespace GFGGame
             foreach (int itemID in tempAllList)
             {
                 int subType = ItemUtilCS.GetItemSubType(itemID);
-                if (!CheckIsSceneType(itemID) && subType != ConstDressUpItemType.BEI_JING)
+                if (!DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID) && subType != ConstDressUpItemType.BEI_JING)
                 {
                     if (!recommendTypeList.Contains(subType))
                     {
@@ -290,25 +290,6 @@ namespace GFGGame
             return recommendTypeList.Count;
         }
 
-        public static bool CheckIsSceneType(int itemID)
-        {
-            int subType = ItemUtilCS.GetItemSubType(itemID);
-            if (subType == ConstDressUpItemType.BEI_JING)
-            {
-                return true;
-            }
-            DressUpMenuItemCfg1 typeCfg = DressUpMenuItemCfg1Array.Instance.GetCfg(12);
-            foreach (int temp in typeCfg.subMenusArr)
-            {
-                DressUpMenuItemCfg2 subTypeCfg = DressUpMenuItemCfg2Array.Instance.GetCfg(temp);
-                if (subType == subTypeCfg.type)
-                {
-                    return true;
-                }
-            }
-            return false;
-        }
-
         // public static int GetItemScore(int itemId)
         // {
         //     return ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType);

+ 4 - 18
GameClient/Assets/Game/HotUpdate/Data/DressUpMenuSuitDataManager.cs

@@ -88,7 +88,7 @@ namespace GFGGame
 
         public static void GetTotalProgress(out int count, out int totalCount)
         {
-            totalCount = SuitCfgManager.Instance.totalItemCount;
+            totalCount = GlobalCfgArray.globalCfg.suitPartTotalCount;
             count = 0;
             foreach (KeyValuePair<int, int> item in _progressBySuitIdDic)
             {
@@ -129,7 +129,7 @@ namespace GFGGame
                 {
                     count = 0;
                 }
-                totalCount = SuitCfgManager.Instance.GetTotalCountOfOneSuit(suitId);
+                totalCount = SuitCfgArray.Instance.GetTotalCountOfOneSuit(suitId);
             }
             else
             {
@@ -153,11 +153,11 @@ namespace GFGGame
 
         public static void CheckItemInSuit(int itemId)
         {
-            int suitId = SuitCfgManager.Instance.GetItemSuitId(itemId);
+            int suitId = SuitCfgArray.Instance.GetSuitIdOfItem(itemId);
             if (suitId > 0)
             {
                 SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
-                int[] itemIds = SuitCfgManager.Instance.GetSuitItems(suitId);
+                int[] itemIds = SuitCfgArray.Instance.GetSuitItems(suitId);
                 int totalCount = itemIds.Length;
                 bool hasAll = true;
                 int count = 0;
@@ -268,19 +268,5 @@ namespace GFGGame
             EventAgent.DispatchEvent(ConstMessage.SUIT_BOX_STATUS_CHANGED, suitId);
         }
 
-        public static bool CheckItemReaplaceableByAction(int itemId, int suitId)
-        {
-            var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            if(Array.IndexOf(GlobalCfgArray.globalCfg.itemSubTypesReplaceableByActionArr,itemCfg.subType) >= 0)
-            {
-                return true;
-            }
-            var suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
-            if(Array.IndexOf(suitCfg.subTypesReplaceableArr,itemCfg.subType) >= 0)
-            {
-                return true;
-            }
-            return false;
-        }
     }
 }

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

@@ -245,7 +245,7 @@ namespace GFGGame
         public static bool GetFightResult(int score, out int npcScore)
         {
             npcScore = 0;
-            bool equipedNeeded = EquipDataCache.CheckEquipedFightNeeded();
+            bool equipedNeeded = MyDressUpHelper.CheckEquipedFightNeeded();
             if (!equipedNeeded)
             {
                 PromptController.Instance.ShowFloatTextPrompt("未穿必需物品");

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -39,7 +39,7 @@ namespace GFGGame
                 //游戏角色初始数据完成后才执行
                 bool dataInited = GameGlobal.DataInited;
                 DressUpMenuItemDataManager.Add(itemID);
-                if (!DressUpMenuItemDataManager.CheckIsSceneType(itemID))
+                if (!DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID))
                 {
                     DecomposeDataManager.Instance.Add(itemID);
                 }
@@ -99,7 +99,7 @@ namespace GFGGame
                     }
                 }
 
-                if (itemCfg.itemType == ConstItemType.DRESS_UP && !DressUpMenuItemDataManager.CheckIsSceneType(itemID))
+                if (itemCfg.itemType == ConstItemType.DRESS_UP && !DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemID))
                 {
                     DecomposeDataManager.Instance.Remove(itemID);
                 }

+ 5 - 8
GameClient/Assets/Game/HotUpdate/Data/PhotographDataManager.cs

@@ -21,7 +21,7 @@ namespace GFGGame
 
         public List<GameObject> itemGameObjs = new List<GameObject>();
 
-        public List<int> _equipRoleData = new List<int>();//当前穿戴的角色数据
+        public DressUpObj dressUpObj;//当前穿戴的角色数据
         public Dictionary<int, List<int>> _equipSceneData = new Dictionary<int, List<int>>();//当前穿戴的场景数据
 
 
@@ -72,19 +72,16 @@ namespace GFGGame
         //将穿戴数据分类
         public void ClassifyEquipData()
         {
-            _equipRoleData.Clear();
+            dressUpObj?.Dispose();
+            dressUpObj = new DressUpObj();
             _equipSceneData.Clear();
-            for (int i = 0; i < EquipDataCache.cacher.equipDatas.Count; i++)
+            for (int i = 0; i < MyDressUpHelper.dressUpObj.itemList.Count; i++)
             {
-                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(EquipDataCache.cacher.equipDatas[i]);
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MyDressUpHelper.dressUpObj.itemList[i]);
                 if (itemCfg.subType == ConstDressUpItemType.QIAN_JING || itemCfg.subType == ConstDressUpItemType.BEI_SHI || itemCfg.subType == ConstDressUpItemType.HUAN_JING || itemCfg.subType == ConstDressUpItemType.FEN_WEI)
                 {
                     PhotographDataManager.Instance.AddEquipItem(_equipSceneData, itemCfg.id, out _equipSceneData);
                 }
-                else
-                {
-                    _equipRoleData.Add(EquipDataCache.cacher.equipDatas[i]);
-                }
             }
         }
         public void AddEquipItem(Dictionary<int, List<int>> _equipSceneData, int itemID, out Dictionary<int, List<int>> equipSceneData)

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

@@ -1,4 +1,3 @@
-using FairyGUI;
 using UnityEngine;
 
 namespace GFGGame
@@ -59,7 +58,7 @@ namespace GFGGame
         public void AddBodyItem()
         {
             GameObject bodyParent = sceneObject.transform.Find("Scene/Role").gameObject;
-            SceneController.UpdatePhotographBody(PhotographDataManager.Instance._equipRoleData, sceneObject, bodyParent);
+            SceneController.UpdatePhotographBody(sceneObject, bodyParent);
             PhotographDataManager.Instance.AddItemGameObject(bodyParent, false);
         }
     }

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

@@ -18,7 +18,7 @@ namespace GFGGame
         public void SetEquipDicWithType()
         {
             equipDicWithPartId.Clear();
-            var equipDatas = EquipDataCache.cacher.equipDatas;
+            var equipDatas = MyDressUpHelper.dressUpObj.itemList;
             for (int i = 0; i < equipDatas.Count; i++)
             {
 
@@ -59,7 +59,7 @@ namespace GFGGame
         {
             //(部件属性分数+标签分数+人物基础分+卡牌属性分数)*4
 
-            var equipDatas = EquipDataCache.cacher.equipDatas;
+            var equipDatas = MyDressUpHelper.dressUpObj.itemList;
             int partScore = 0;
             double tagProportion = 0;
             StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);

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

@@ -8,6 +8,6 @@ namespace GFGGame
             this.pos = index;
         }
         public int pos;
-        public EquipData EquipData = new EquipData();
+        public DressUpData dressUpData = new DressUpData();
     }
 }

+ 36 - 0
GameClient/Assets/Game/HotUpdate/Data/VO/DressUpData.cs

@@ -0,0 +1,36 @@
+using System.Collections.Generic;
+
+namespace GFGGame
+{
+    public class DressUpData
+    {
+        public int bgId;
+        public int suitId;
+        public int actionId;
+        public List<int> itemList = new List<int>();
+
+        public DressUpData Clone()
+        {
+            var dressUpData = new DressUpData();
+            dressUpData.bgId = bgId;
+            dressUpData.suitId = suitId;
+            dressUpData.actionId = actionId;
+            foreach(var t in itemList)
+            {
+                dressUpData.itemList.Add(t);
+            }
+            return dressUpData;
+        }
+
+        public static DressUpData CreateDefault()
+        {
+            var dressUpData = new DressUpData();
+            dressUpData.itemList.Add(ConstItemID.DEFULT_FA_XING);
+            dressUpData.itemList.Add(ConstItemID.DEFULT_LIAN_YI_QUN);
+            dressUpData.bgId = 180001;
+            dressUpData.suitId = 0;
+            return dressUpData;
+        }
+
+    }
+}

+ 1 - 1
GameClient/Assets/Game/HotUpdate/DressUp/EquipDataCache.cs.meta → GameClient/Assets/Game/HotUpdate/Data/VO/DressUpData.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 2e1d57ba6c56fc64c97d30077480d112
+guid: ec5ea37fda8afd742af82d2c0444951c
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 0 - 37
GameClient/Assets/Game/HotUpdate/Data/VO/EquipData.cs

@@ -1,37 +0,0 @@
-using System.Collections.Generic;
-
-namespace GFGGame
-{
-    public class EquipData
-    {
-        public int bgId;
-        public int suitId;
-        public bool isAction;
-        public List<int> equipDatas = new List<int>();
-
-        public EquipData Clone()
-        {
-            var equipData = new EquipData();
-            equipData.bgId = bgId;
-            equipData.suitId = suitId;
-            equipData.isAction = isAction;
-            foreach(var t in equipDatas)
-            {
-                equipData.equipDatas.Add(t);
-            }
-            return equipData;
-        }
-
-        public static EquipData CreateDefault()
-        {
-            var equipData = new EquipData();
-            equipData.equipDatas.Add(ConstItemID.DEFULT_FA_XING);
-            equipData.equipDatas.Add(ConstItemID.DEFULT_LIAN_YI_QUN);
-            equipData.bgId = 180001;
-            equipData.suitId = 0;
-            equipData.isAction = false;
-            return equipData;
-        }
-
-    }
-}

+ 551 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs

@@ -0,0 +1,551 @@
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using System.Linq;
+using ET;
+
+namespace GFGGame
+{
+    public class DressUpObj
+    {
+        private GameObject _sceneObj;
+        private GameObject _roleObj;
+        private bool _needSetMask;
+        private bool _showSceneType = true;
+        private bool _showBg = true;
+        private DressUpData _dressUpData = new DressUpData();
+
+        public int bgId
+        {
+            get
+            {
+                return _dressUpData.bgId;
+            }
+        }
+
+        public int suitId
+        {
+            get
+            {
+                return _dressUpData.suitId;
+            }
+        }
+
+        public int actionId
+        {
+            get
+            {
+                return _dressUpData.actionId;
+            }
+        }
+
+        public bool IsAction
+        {
+            get
+            {
+                return _dressUpData.actionId > 0;
+            }
+        }
+
+        public bool HasSuitActionRes
+        {
+            get
+            {
+                if (_dressUpData.suitId > 0)
+                {
+                    return SuitCfgArray.Instance.CheckSuitHasAction(_dressUpData.suitId);
+                }
+                return false;
+            }
+        }
+
+        public List<int> itemList
+        {
+            get
+            {
+                return _dressUpData.itemList.ToList();
+            }
+        }
+
+        public void setSceneObj(GameObject sceneObj, bool needSetMask = false, bool showSceneType = true, GameObject roleObj = null, bool showBg = true)
+        {
+            _sceneObj = sceneObj;
+            _needSetMask = needSetMask;
+            _showSceneType = showSceneType;
+            _showBg = showBg;
+            _roleObj = roleObj;
+        }
+
+        public DressUpData DressUpDataClone()
+        {
+            return _dressUpData.Clone();
+        }
+
+        public void Dispose()
+        {
+            _sceneObj = null;
+            _dressUpData = null;
+        }
+
+        /// <summary>
+        /// 仅判断换装部件是否已穿着
+        /// </summary>
+        /// <param name="itemId"></param>
+        /// <returns></returns>
+        public bool CheckDressUpItemIsOn(int itemId)
+        {
+            if (itemId == _dressUpData.bgId)
+            {
+                return true;
+            }
+            return _dressUpData.itemList.Contains(itemId);
+        }
+
+        /// <summary>
+        /// 仅判断套装是否穿上
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public bool CheckSuitIsOn(int id)
+        {
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(id);
+            if (suitCfg == null)
+            {
+                return false;
+            }
+            int[] items = suitCfg.partsArr;
+            foreach (int itemId in items)
+            {
+                if(_dressUpData.actionId == id)
+                {
+                    if(SuitCfgArray.Instance.CheckActionContainsItem(itemId, id))
+                    {
+                        continue;
+                    }
+                }
+                bool isOn = CheckDressUpItemIsOn(itemId);
+                if (!isOn)
+                {
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        public void AddOrRemove(int itemId, bool checkDefault, bool isAdd = false, bool isRemove = false)
+        {
+            int subType = ItemUtilCS.GetItemSubType(itemId);
+            if (subType == ConstDressUpItemType.BEI_JING)
+            {
+                if (!_showBg)
+                {
+                    if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId))
+                    {
+                        return;
+                    }
+                }
+                _dressUpData.bgId = itemId;
+                bool showAni = IsAction || DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId);
+                DressUpUtil.AddItem(_dressUpData.bgId, _sceneObj, _needSetMask, showAni, _roleObj);
+            }
+            else
+            {
+                if (!CheckDressUpItemIsOn(itemId))
+                {
+                    if (!isRemove)
+                    {
+                        checkRemoveSameType(subType);
+                        Add(itemId);
+                    }
+                }
+                else
+                {
+                    if (!isAdd)
+                    {
+                        Remove(itemId);
+                    }
+                }
+                if (checkDefault)
+                {
+                    checkDefaultItem();
+                }
+            }
+        }
+
+        public void checkRemoveSameType(int type)
+        {
+            int count = 0;
+            int firstTeshuId = 0;
+            for (int i = 0; i < _dressUpData.itemList.Count; i++)
+            {
+                int itemID = (int)_dressUpData.itemList[i];
+                int subType = ItemUtilCS.GetItemSubType(itemID);
+                if (subType == type
+                    || (type == ConstDressUpItemType.LIAN_YI_QUN && (subType == ConstDressUpItemType.SHANG_YI || subType == ConstDressUpItemType.XIA_ZHUANG || subType == ConstDressUpItemType.NEI_DA))
+                    || (type == ConstDressUpItemType.SHANG_YI && subType == ConstDressUpItemType.LIAN_YI_QUN)
+                    || (type == ConstDressUpItemType.XIA_ZHUANG && subType == ConstDressUpItemType.LIAN_YI_QUN)
+                    || (type == ConstDressUpItemType.NEI_DA && subType == ConstDressUpItemType.LIAN_YI_QUN))
+                {
+                    Remove(itemID);
+                    i--;
+                }
+                if (subType > ConstDressUpItemType.TE_SHU)
+                {
+                    if (count == 0)
+                    {
+                        firstTeshuId = itemID;
+                    }
+                    count++;
+                }
+            }
+            if (type > ConstDressUpItemType.TE_SHU && count >= 3)
+            {
+                //特殊饰品最多穿三件,第四件会自动顶掉第一件
+                Remove(firstTeshuId);
+            }
+        }
+
+        //脱掉所有换装,换成默认装(不处理背景)
+        public void TakeOffAll(bool checkDefault = true)
+        {
+            _dressUpData.suitId = 0;
+            _dressUpData.actionId = 0;
+            foreach (int itemID in itemList)
+            {
+                AddOrRemove(itemID, false, false, true);
+            }
+            if (checkDefault)
+            {
+                checkDefaultItem();
+                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);
+            }
+        }
+
+        //穿上或脱掉一个动作
+        public void PutOnOrTakeOffAction(int actionId)
+        {
+            if (_dressUpData.actionId == actionId)
+            {
+                CancelAction();
+            }
+            else
+            {
+                PutOnAction(actionId);
+            }
+        }
+
+        //当穿一件部件时检查是否需要取消动作,如果需要则取消该动作
+        public void CheckCancelActionWhenPutOn(int itemId)
+        {
+            if (_dressUpData.actionId > 0)
+            {
+                bool replaceableByAction = SuitCfgArray.Instance.CheckItemReaplaceableByAction(itemId, _dressUpData.actionId);
+                if (!replaceableByAction)
+                {
+                    CancelAction();
+                    _dressUpData.actionId = 0;
+                }
+            }
+        }
+
+        //刷新视图,用于新设置sceneobj后的初始显示
+        public void UpdateRoleView()
+        {
+            PutOnDressUpData(DressUpDataClone());
+        }
+
+        /// <summary>
+        /// 尝试穿戴配置套装
+        /// </summary>
+        /// <param name="id">套装id</param>
+        /// <param name="tryShowAction">尝试穿上动作</param>
+        /// <param name="excludeType">排除类型列表</param>
+        /// <param name="showOptional">是否显示可选部件</param>
+        /// <param name="CheckOwn">是否只显示主角拥有的部件</param>
+        public void PutOnSuitCfg(int id, bool tryShowAction, int[] excludeType = null, bool showOptional = true, bool CheckOwn = true)
+        {
+            if (_dressUpData.suitId == id)
+            {
+                return;
+            }
+            TakeOffAll(false);
+            _dressUpData.suitId = id;
+            _dressUpData.actionId = (HasSuitActionRes && tryShowAction)?id:0;
+            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_dressUpData.suitId);
+            List<int> items = new List<int>(suitCfg.partsArr);
+            if (showOptional)
+            {
+
+                if (suitCfg.partsOptionalArr != null && suitCfg.partsOptionalArr.Length > 0)
+                {
+                    items.AddRange(suitCfg.partsOptionalArr);
+                }
+            }
+            int subType = 0;
+            foreach (int itemId in items)
+            {
+                if (!CheckOwn || DressUpMenuItemDataManager.CheckHasItem(itemId))
+                {
+                    subType = ItemUtilCS.GetItemSubType(itemId);
+                    bool replaceableByAction = SuitCfgArray.Instance.CheckItemReaplaceableByAction(itemId, suitId);
+                    if (!IsAction || replaceableByAction)
+                    {
+                        if (excludeType == null || Array.IndexOf(excludeType, subType) < 0)
+                        {
+                            AddOrRemove(itemId, false, true);
+                        }
+                    }
+                }
+            }
+            checkDefaultItem();
+            UpdateWholeBodyView();
+        }
+        
+        //穿戴一组换装数据
+        public void PutOnDressUpData(DressUpData dressUpData)
+        {
+            TakeOffAll(false);
+            if (dressUpData.bgId > 0)
+            {
+                AddOrRemove(dressUpData.bgId, false);
+            }
+            foreach (int itemID in dressUpData.itemList)
+            {
+                AddOrRemove(itemID, false, true);
+            }
+            _dressUpData.suitId = dressUpData.suitId;
+            _dressUpData.actionId = dressUpData.actionId;
+            checkDefaultItem();
+            UpdateWholeBodyView();
+
+        }
+
+        //穿戴默认换装数据
+        public void PutOnDefaultDressUpData()
+        {
+            PutOnDressUpData(DressUpData.CreateDefault());
+        }
+
+        //穿戴一组散件数据(会先脱掉原来的再穿)
+        public void PutOnItemList(List<int> itemList)
+        {
+            TakeOffAll(false);
+            foreach (int itemID in itemList)
+            {
+                AddOrRemove(itemID, false, true);
+            }
+            checkDefaultItem();
+            UpdateWholeBodyView();
+        }
+
+        public int GetItemIdBuyType(int subType)
+        {
+            for (int i = 0; i < itemList.Count; i++)
+            {
+                if (itemList[i] != ConstItemID.DEFULT_LIAN_YI_QUN && itemList[i] != ConstItemID.DEFULT_NEI_DA && itemList[i] != ConstItemID.DEFULT_XIA_ZHUANG && itemList[i] != ConstItemID.DEFULT_FA_XING)
+                {
+                    if (subType == ItemUtilCS.GetItemSubType(itemList[i]))
+                    {
+                        return itemList[i];
+                    }
+
+                }
+            }
+            if (suitId > 0)
+            {
+                return suitId;
+            }
+            return 0;
+        }
+
+        private void Add(int itemId)
+        {
+            if (!_showSceneType)
+            {
+                if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId))
+                {
+                    return;
+                }
+            }
+            if (!_dressUpData.itemList.Contains(itemId))
+            {
+                _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);
+            }
+        }
+
+        private void Remove(int itemId)
+        {
+            if (_dressUpData.itemList == null)
+            {
+                return;
+            }
+            if (_dressUpData.itemList.Contains(itemId))
+            {
+                _dressUpData.itemList.Remove(itemId);
+                DressUpUtil.RemoveItem(itemId, _sceneObj, _roleObj);
+                FightDataManager.Instance.score -= ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
+            }
+        }
+
+        //检测当前穿戴是否是一件完整套装,且只穿了一件套装,返回套装id
+        private int CheckCurDressIsSuit()
+        {
+            var suitId = 0;
+            var suitIdList = new List<int>();
+            for (int i = 0; i < _dressUpData.itemList.Count; i++)
+            {
+                int itemSuitId = SuitCfgArray.Instance.GetSuitIdOfItem(_dressUpData.itemList[i]);
+                if (!suitIdList.Contains(itemSuitId))
+                {
+                    suitIdList.Add(itemSuitId);
+                }
+            }
+            foreach (var itemSuitId in suitIdList)
+            {
+                if (CheckSuitIsOn(itemSuitId))
+                {
+                    suitId = itemSuitId;
+                    break;
+                }
+            }
+            _dressUpData.suitId = suitId;
+            return _dressUpData.suitId;
+        }
+
+        private void checkDefaultItem()
+        {
+            //是否有头发
+            bool hasFaXing = false;
+            //检查默认资源
+            //是否有连衣裙
+            bool hasLianYiQun = false;
+            //是否有内搭
+            bool hasNeiDa = false;
+            //是否有上衣
+            bool hasShangYi = false;
+            //是否有下装
+            bool hasXiaZhuang = false;
+            //是否有默认内搭
+            bool hasNeiDaDefault = false;
+            //是否有默认下装
+            bool hasXiaZhuangDefault = false;
+            for (int i = 0; i < _dressUpData.itemList.Count; i++)
+            {
+                int itemID = (int)_dressUpData.itemList[i];
+                int subType = ItemUtilCS.GetItemSubType(itemID);
+                if (subType == (int)ConstDressUpItemType.FA_XING)
+                {
+                    hasFaXing = true;
+                }
+                else if (subType == ConstDressUpItemType.LIAN_YI_QUN)
+                {
+                    hasLianYiQun = true;
+                }
+                else if (subType == ConstDressUpItemType.NEI_DA)
+                {
+                    hasNeiDa = true;
+                }
+                else if (subType == ConstDressUpItemType.XIA_ZHUANG)
+                {
+                    hasXiaZhuang = true;
+                }
+                else if (subType == ConstDressUpItemType.SHANG_YI)
+                {
+                    hasShangYi = true;
+                }
+                if (itemID == ConstItemID.DEFULT_NEI_DA)
+                {
+                    hasNeiDaDefault = true;
+                }
+                else if (itemID == ConstItemID.DEFULT_XIA_ZHUANG)
+                {
+                    hasXiaZhuangDefault = true;
+                }
+            }
+            if (!hasFaXing)
+            {
+                Add(ConstItemID.DEFULT_FA_XING);
+            }
+            if (!IsAction)
+            {
+                if (!hasLianYiQun)
+                {
+                    if (!hasShangYi && (!hasNeiDa || hasNeiDaDefault) && (!hasXiaZhuang || hasXiaZhuangDefault))
+                    {
+                        Remove(ConstItemID.DEFULT_XIA_ZHUANG);
+                        Remove(ConstItemID.DEFULT_NEI_DA);
+                        Add(ConstItemID.DEFULT_LIAN_YI_QUN);
+                    }
+                    else
+                    {
+                        if (!hasXiaZhuang)
+                        {
+                            Add(ConstItemID.DEFULT_XIA_ZHUANG);
+                        }
+                        if (!hasNeiDa)
+                        {
+                            Add(ConstItemID.DEFULT_NEI_DA);
+                        }
+                    }
+
+                }
+            }
+
+            CheckCurDressIsSuit();
+        }
+
+        //更新整个身体层(包括头和躯干)
+        private void UpdateWholeBodyView()
+        {
+            if (IsAction)
+            {
+                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_dressUpData.actionId);
+                var hasAniRes = !string.IsNullOrEmpty(suitCfg.aniRes);
+                var res = hasAniRes ? suitCfg.aniRes : suitCfg.picRes;
+                DressUpUtil.UpdateWholeBody(res, _sceneObj, hasAniRes, suitCfg.effRes, false, _roleObj);
+            }
+            else
+            {
+                DressUpUtil.UpdateWholeBody(null, _sceneObj, false, null, _needSetMask, _roleObj);
+            }
+        }
+
+        //穿上一个动作
+        private void PutOnAction(int actionId)
+        {
+            _dressUpData.actionId = actionId;
+            foreach (int itemId in itemList)
+            {
+                bool replaceableByAction = SuitCfgArray.Instance.CheckItemReaplaceableByAction(itemId, _dressUpData.actionId);
+                if (!replaceableByAction)
+                {
+                    AddOrRemove(itemId, false, false, true);
+                }
+            }
+            checkDefaultItem();
+            UpdateWholeBodyView();
+        }
+
+        //取消动作
+        private void CancelAction()
+        {
+            if (_dressUpData.actionId <= 0)
+            {
+                return;
+            }
+            _dressUpData.actionId = 0;
+            checkDefaultItem();
+            UpdateWholeBodyView();
+        }
+
+    }
+}

+ 0 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjDataCache.cs.meta → GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs.meta


+ 0 - 569
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjDataCache.cs

@@ -1,569 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-using System;
-using System.Linq;
-using ET;
-
-namespace GFGGame
-{
-    public class DressUpObjDataCache
-    {
-        private GameObject _sceneObj;
-        private bool _needSetMask;
-
-        private EquipData _equipData = new EquipData();
-
-        public int bgId
-        {
-            get
-            {
-                return _equipData.bgId;
-            }
-        }
-
-        public int suitId
-        {
-            get
-            {
-                return _equipData.suitId;
-            }
-        }
-
-        public bool IsAction
-        {
-            get
-            {
-                return _equipData.suitId > 0 && _equipData.isAction;
-            }
-        }
-
-        public bool HasSuitPicRes
-        {
-            get
-            {
-                if (_equipData.suitId > 0)
-                {
-                    SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_equipData.suitId);
-                    if (suitCfg.picRes != null && suitCfg.picRes.Length > 0)
-                    {
-                        return true;
-                    }
-                }
-                return false;
-            }
-        }
-
-        public List<int> equipDatas
-        {
-            get
-            {
-                return _equipData.equipDatas.ToList();
-            }
-            set
-            {
-                if(value != null)
-                {
-                    _equipData.equipDatas.Clear();
-                    foreach(var t in value)
-                    {
-                        _equipData.equipDatas.Add(t);
-                    }
-                }
-            }
-        }
-
-        public void setSceneObj(GameObject sceneObj, bool needSetMask = false)
-        {
-            _sceneObj = sceneObj;
-            _needSetMask = needSetMask;
-        }
-
-        public EquipData GetEquiptDataClone()
-        {
-            return _equipData.Clone();
-        }
-
-        public void Dispose()
-        {
-            _sceneObj = null;
-        }
-
-        private void Add(int value)
-        {
-            if (!_equipData.equipDatas.Contains(value))
-            {
-                _equipData.equipDatas.Add(value);
-                DressUpUtil.AddItem(value, _sceneObj, _needSetMask);
-                FightDataManager.Instance.score += ItemDataManager.GetItemAdditionScore(value, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
-            }
-            int dressSuitId = CheckCurDressIsSuit();
-            if (dressSuitId > 0) _equipData.suitId = dressSuitId;
-        }
-
-        private void Remove(int value)
-        {
-            if (_equipData.equipDatas == null)
-            {
-                return;
-            }
-            if (_equipData.equipDatas.Contains(value))
-            {
-                _equipData.equipDatas.Remove(value);
-                DressUpUtil.RemoveItem(value, _sceneObj);
-                FightDataManager.Instance.score -= ItemDataManager.GetItemAdditionScore(value, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
-            }
-        }
-
-        //检测当前穿戴是否是一件完整套装,且只穿了一件套装,返回套装id
-        public int CheckCurDressIsSuit()
-        {
-            if (_equipData.suitId > 0) return _equipData.suitId;
-
-            //  var equipDatas = EquipData.equipDatas;
-            int dressSuitId = 0;
-            List<int> equipDatas = new List<int>();
-            for (int i = 0; i < _equipData.equipDatas.Count; i++)
-            {
-                if (DressUpMenuItemDataManager.CheckIsSceneType(_equipData.equipDatas[i])) continue;
-                if (_equipData.equipDatas[i] != ConstItemID.DEFULT_FA_XING && _equipData.equipDatas[i] != ConstItemID.DEFULT_LIAN_YI_QUN && _equipData.equipDatas[i] != ConstItemID.DEFULT_NEI_DA && _equipData.equipDatas[i] != ConstItemID.DEFULT_XIA_ZHUANG)
-                {
-                    int suitId = SuitCfgManager.Instance.GetItemSuitId(_equipData.equipDatas[i]);
-                    if (suitId <= 0) return 0;//有任何不属于套装的部件且不是原始服装,则当前穿戴不属于套装
-
-                    if (dressSuitId != 0 && dressSuitId != suitId) return 0;//当前穿戴不同套装的部件,则当前穿戴不属于套装
-                    dressSuitId = suitId;
-
-                    equipDatas.Add(_equipData.equipDatas[i]);
-                }
-            }
-            if (dressSuitId == 0) return dressSuitId;
-            int[] itemIds = SuitCfgManager.Instance.GetSuitItems(dressSuitId);
-            for (int i = 0; i < itemIds.Length; i++)
-            {
-                if (DressUpMenuItemDataManager.CheckIsSceneType(itemIds[i])) continue;
-                if (equipDatas.IndexOf(itemIds[i]) < 0) return 0;//套装部件穿戴不完整
-            }
-
-            return dressSuitId;
-        }
-
-        /// <summary>
-        /// 仅判断换装部件是否已穿着
-        /// </summary>
-        /// <param name="id"></param>
-        /// <returns></returns>
-        public bool CheckDressUpItemIsOn(int id)
-        {
-            if (id == _equipData.bgId)
-            {
-                return true;
-            }
-            // if (suitId > 0)
-            // {
-            //     int[] suitparts = SuitCfgArray.Instance.GetCfg(suitId).partsArr;
-            //     if (Array.IndexOf(suitparts, id) >= 0)
-            //     {
-            //         return true;
-            //     }
-            // }
-            return _equipData.equipDatas.Contains(id);
-        }
-
-        /// <summary>
-        /// 仅判断套装是否穿上
-        /// </summary>
-        /// <param name="id"></param>
-        /// <returns></returns>
-        public bool CheckSuitIsOn(int id)
-        {
-            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(id);
-            if (suitCfg == null)
-            {
-                return false;
-            }
-            int[] items = suitCfg.partsArr;
-            foreach (int itemId in items)
-            {
-                bool isOn = CheckDressUpItemIsOn(itemId);
-                if (!isOn)
-                {
-                    return false;
-                }
-            }
-            return true;
-        }
-
-        public void AddOrRemove(int value, bool checkDefault, bool isAdd = false, bool isRemove = false)
-        {
-            int subType = ItemUtilCS.GetItemSubType(value);
-            if (subType == ConstDressUpItemType.BEI_JING)
-            {
-                _equipData.bgId = value;
-                DressUpUtil.AddItem(_equipData.bgId, _sceneObj, _needSetMask);
-            }
-            else
-            {
-                if (!CheckDressUpItemIsOn(value))
-                {
-                    if (!isRemove)
-                    {
-                        checkRemoveSameType(subType);
-                        Add(value);
-                    }
-                }
-                else
-                {
-                    if (!isAdd)
-                    {
-                        Remove(value);
-                    }
-                }
-                if (checkDefault)
-                {
-                    checkDefaultItem();
-                }
-            }
-        }
-
-        public void checkRemoveSameType(int type)
-        {
-            int count = 0;
-            int firstTeshuId = 0;
-            for (int i = 0; i < _equipData.equipDatas.Count; i++)
-            {
-                int itemID = (int)_equipData.equipDatas[i];
-                int subType = ItemUtilCS.GetItemSubType(itemID);
-                if (subType == type
-                    || (type == ConstDressUpItemType.LIAN_YI_QUN && (subType == ConstDressUpItemType.SHANG_YI || subType == ConstDressUpItemType.XIA_ZHUANG || subType == ConstDressUpItemType.NEI_DA))
-                    || (type == ConstDressUpItemType.SHANG_YI && subType == ConstDressUpItemType.LIAN_YI_QUN)
-                    || (type == ConstDressUpItemType.XIA_ZHUANG && subType == ConstDressUpItemType.LIAN_YI_QUN)
-                    || (type == ConstDressUpItemType.NEI_DA && subType == ConstDressUpItemType.LIAN_YI_QUN))
-                {
-                    Remove(itemID);
-                    i--;
-                }
-                if (subType > ConstDressUpItemType.TE_SHU)
-                {
-                    if (count == 0)
-                    {
-                        firstTeshuId = itemID;
-                    }
-                    count++;
-                }
-            }
-            if (type > ConstDressUpItemType.TE_SHU && count >= 3)
-            {
-                //特殊饰品最多穿三件,第四件会自动顶掉第一件
-                Remove(firstTeshuId);
-            }
-        }
-
-        private void checkDefaultItem()
-        {
-            if (!IsAction)
-            {
-                //检查默认资源
-                //是否有头发
-                bool hasFaXing = false;
-                //是否有连衣裙
-                bool hasLianYiQun = false;
-                //是否有内搭
-                bool hasNeiDa = false;
-                //是否有上衣
-                bool hasShangYi = false;
-                //是否有下装
-                bool hasXiaZhuang = false;
-                //是否有默认内搭
-                bool hasNeiDaDefault = false;
-                //是否有默认下装
-                bool hasXiaZhuangDefault = false;
-                for (int i = 0; i < _equipData.equipDatas.Count; i++)
-                {
-                    int itemID = (int)_equipData.equipDatas[i];
-                    int subType = ItemUtilCS.GetItemSubType(itemID);
-                    if (subType == (int)ConstDressUpItemType.FA_XING)
-                    {
-                        hasFaXing = true;
-                    }
-                    else if (subType == ConstDressUpItemType.LIAN_YI_QUN)
-                    {
-                        hasLianYiQun = true;
-                    }
-                    else if (subType == ConstDressUpItemType.NEI_DA)
-                    {
-                        hasNeiDa = true;
-                    }
-                    else if (subType == ConstDressUpItemType.XIA_ZHUANG)
-                    {
-                        hasXiaZhuang = true;
-                    }
-                    else if (subType == ConstDressUpItemType.SHANG_YI)
-                    {
-                        hasShangYi = true;
-                    }
-                    if (itemID == ConstItemID.DEFULT_NEI_DA)
-                    {
-                        hasNeiDaDefault = true;
-                    }
-                    else if (itemID == ConstItemID.DEFULT_XIA_ZHUANG)
-                    {
-                        hasXiaZhuangDefault = true;
-                    }
-                }
-                if (!hasFaXing)
-                {
-                    Add(ConstItemID.DEFULT_FA_XING); 
-                }
-                if (!hasLianYiQun)
-                {
-                    if (!hasShangYi && (!hasNeiDa || hasNeiDaDefault) && (!hasXiaZhuang || hasXiaZhuangDefault))
-                    {
-                        Remove(ConstItemID.DEFULT_XIA_ZHUANG);
-                        Remove(ConstItemID.DEFULT_NEI_DA);
-                        Add(ConstItemID.DEFULT_LIAN_YI_QUN);
-                    }
-                    else
-                    {
-                        if (!hasXiaZhuang)
-                        {
-                            Add(ConstItemID.DEFULT_XIA_ZHUANG);
-                        }
-                        if (!hasNeiDa)
-                        {
-                            Add(ConstItemID.DEFULT_NEI_DA);
-                        }
-                    }
-
-                }
-            }
-        }
-
-        private void InitRoleView()
-        {
-
-        }
-
-        private void UpdateBodyView()
-        {
-            if (IsAction)
-            {
-                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_equipData.suitId);
-                var hasAniRes = !string.IsNullOrEmpty(suitCfg.aniRes);
-                var res = hasAniRes ? suitCfg.aniRes : suitCfg.picRes;
-                DressUpUtil.UpdateBody(res, _sceneObj, hasAniRes, suitCfg.effRes);
-            }
-            else
-            {
-                DressUpUtil.UpdateBody(null, _sceneObj, false, null, _needSetMask);
-            }
-        }
-
-        public void TakeOffAll(bool checkDefault = true)
-        {
-            _equipData.suitId = 0;
-            _equipData.isAction = false;
-            // AddOrRemove(propID, false, true);
-            var tempList = equipDatas;
-            foreach (int itemID in tempList)
-            {
-                AddOrRemove(itemID, false, false, true);
-            }
-            if (checkDefault)
-            {
-                checkDefaultItem();
-                UpdateBodyView();
-            }
-            RoleLevelCfg roleLevelCfg = RoleLevelCfgArray.Instance.GetCfg(GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl));
-            FightDataManager.Instance.score = roleLevelCfg.baseScore;
-            foreach (int itemId in _equipData.equipDatas)
-            {
-                FightDataManager.Instance.score += ItemDataManager.GetItemAdditionScore(itemId, InstanceZonesDataManager.currentScoreType, InstanceZonesDataManager.currentFightTags);
-            }
-        }
-
-        public void ChangeAction()
-        {
-            if (!HasSuitPicRes)
-            {
-                return;
-            }
-            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_equipData.suitId);
-            _equipData.isAction = !_equipData.isAction;
-            if (IsAction)
-            {
-                var tempList = equipDatas;
-                foreach (int itemId in tempList)
-                {
-                    bool replaceableByAction = DressUpMenuSuitDataManager.CheckItemReaplaceableByAction(itemId, suitId);
-                    if (!DressUpMenuItemDataManager.CheckIsSceneType(itemId) && !replaceableByAction)
-                    {
-                        AddOrRemove(itemId, false, false, true);
-                    }
-                }
-            }
-            else
-            {
-
-                int[] items = suitCfg.partsArr;
-                foreach (int itemId in items)
-                {
-                    bool replaceableByAction = DressUpMenuSuitDataManager.CheckItemReaplaceableByAction(itemId, suitId);
-                    if (!DressUpMenuItemDataManager.CheckIsSceneType(itemId) || replaceableByAction)
-                    {
-                        AddOrRemove(itemId, false, true);
-                    }
-                }
-            }
-            checkDefaultItem();
-            UpdateBodyView();
-        }
-
-        public void TryCancelSuit(int itemID)
-        {
-            if (_equipData.suitId > 0)
-            {
-                if (!DressUpMenuItemDataManager.CheckIsSceneType(itemID))
-                {
-                    if (_equipData.isAction)
-                    {
-                        ChangeAction();
-                    }
-                    _equipData.suitId = 0;
-                }
-            }
-        }
-
-        public void UpdateRoleView()
-        {
-            PutOnEquipData(GetEquiptDataClone());
-        }
-
-        /// <summary>
-        /// 尝试穿戴配置套装
-        /// </summary>
-        /// <param name="id">套装id</param>
-        /// <param name="checkPic">检查是否是立绘</param>
-        /// <param name="noSceneType">是否排除场景类型</param>
-        /// <param name="excludeType">排除类型列表</param>
-        /// <param name="showOptional">是否显示可选部件</param>
-        /// <param name="CheckOwn">是否只显示主角拥有的部件</param>
-        public void PutOnSuitCfg(int id, bool checkPic, bool noSceneType, int[] excludeType = null, bool showOptional = true, bool CheckOwn = true)
-        {
-            if (_equipData.suitId == id)
-            {
-                return;
-            }
-            TakeOffAll(false);
-            _equipData.suitId = id;
-            _equipData.isAction = HasSuitPicRes && checkPic;
-            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_equipData.suitId);
-            List<int> items = new List<int>(suitCfg.partsArr);
-            if (showOptional)
-            {
-
-                if (suitCfg.partsOptionalArr != null && suitCfg.partsOptionalArr.Length > 0)
-                {
-                    items.AddRange(suitCfg.partsOptionalArr);
-                }
-            }
-            int subType = 0;
-            foreach (int itemId in items)
-            {
-                if (!CheckOwn || DressUpMenuItemDataManager.CheckHasItem(itemId))
-                {
-                    bool isSceneType = DressUpMenuItemDataManager.CheckIsSceneType(itemId);
-                    subType = ItemUtilCS.GetItemSubType(itemId);
-                    bool replaceableByAction = DressUpMenuSuitDataManager.CheckItemReaplaceableByAction(itemId, suitId);
-                    if (!_equipData.isAction || isSceneType || replaceableByAction)
-                    {
-                        if (!noSceneType || !isSceneType)
-                        {
-                            if (excludeType == null || Array.IndexOf(excludeType, subType) < 0)
-                            {
-                                AddOrRemove(itemId, false, true);
-                            }
-                        }
-                    }
-                }
-            }
-            checkDefaultItem();
-            UpdateBodyView();
-        }
-        
-        public void PutOnSuitSavedByPos(int index, bool showBg = true)
-        {
-
-            CustomSuitData suitSavedData = CustomSuitDataManager.GetSuitList(index);
-            PutOnEquipData(suitSavedData.EquipData, showBg);
-        }
-
-        public void PutOnEquipData(EquipData equipData, bool showBg = true)
-        {
-            TakeOffAll(false);
-            if (showBg && equipData.bgId > 0)
-            {
-                AddOrRemove(equipData.bgId, false);
-            }
-            foreach (int itemID in equipData.equipDatas)
-            {
-                AddOrRemove(itemID, false, true);
-            }
-            _equipData.suitId = equipData.suitId;
-            _equipData.isAction = equipData.isAction;
-            checkDefaultItem();
-            UpdateBodyView();
-
-        }
-
-        public void PutOnDefaultSuitSaved(bool showBg = true)
-        {
-            TakeOffAll(false);
-            var equipData = EquipData.CreateDefault();
-            foreach (int itemID in equipData.equipDatas)
-            {
-                AddOrRemove(itemID, false, true);
-            }
-            if (showBg)
-            {
-                if (equipData.bgId > 0)
-                {
-                    AddOrRemove(equipData.bgId, false);
-                }
-            }
-            checkDefaultItem();
-            UpdateBodyView();
-        }
-
-        public void PutOnItemList(List<int> itemList)
-        {
-            TakeOffAll(false);
-            foreach (int itemID in itemList)
-            {
-                AddOrRemove(itemID, false, true);
-            }
-            checkDefaultItem();
-            UpdateBodyView();
-        }
-
-        public int GetItemIdBuyType(int subType)
-        {
-            for (int i = 0; i < equipDatas.Count; i++)
-            {
-                if (equipDatas[i] != ConstItemID.DEFULT_LIAN_YI_QUN && equipDatas[i] != ConstItemID.DEFULT_NEI_DA && equipDatas[i] != ConstItemID.DEFULT_XIA_ZHUANG && equipDatas[i] != ConstItemID.DEFULT_FA_XING)
-                {
-                    if (subType == ItemUtilCS.GetItemSubType(equipDatas[i]))
-                    {
-                        return equipDatas[i];
-                    }
-
-                }
-            }
-            if (suitId > 0)
-            {
-                return suitId;
-            }
-            return 0;
-        }
-
-    }
-}

+ 45 - 37
GameClient/Assets/Game/HotUpdate/DressUp/DressUpUtil.cs

@@ -1,8 +1,6 @@
 using UnityEngine;
 using Live2D.Cubism.Rendering;
 using System.IO;
-using FairyGUI;
-using System.Collections.Generic;
 
 namespace GFGGame
 {
@@ -95,21 +93,23 @@ namespace GFGGame
             }
         }
 
-        public static void RemoveItem(int itemID, GameObject sceneObj)
+        public static void RemoveItem(int itemID, GameObject sceneObj, GameObject parentObj = null)
         {
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
             if (itemCfg != null)
             {
-                GameObject parentObj = null;
-                if (itemCfg.subType == (int)ConstDressUpItemType.BEI_JING)
-                {
-                    parentObj = sceneObj;
-                }
-                else
+                if (parentObj == null)
                 {
-                    //角色
-                    Transform role = sceneObj.transform.Find(ROLE_OBJ_NAME);
-                    parentObj = role.gameObject;
+                    if (itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                    {
+                        parentObj = sceneObj;
+                    }
+                    else
+                    {
+                        //角色
+                        Transform role = sceneObj.transform.Find(ROLE_OBJ_NAME);
+                        parentObj = role.gameObject;
+                    }
                 }
                 string spritObjName;
                 string aniObjName;
@@ -164,9 +164,14 @@ namespace GFGGame
             AddSpriteObj(res, "png", HEAD_SPRITE_NAME, parentObj, 1, needSetMask);
         }
 
-        public static void UpdateBody(string res, GameObject sceneObj, bool isAni = false, string effRes = null, bool needSetMask = false, GameObject parentObj = null)
+        public static void UpdateWholeBody(string res, GameObject sceneObj, bool isAni = false, string effRes = null, bool needSetMask = false, GameObject parentObj = null)
         {
             InitHead(sceneObj, needSetMask, parentObj);
+            UpdateBodyOnly(res, sceneObj, isAni, effRes, needSetMask, parentObj);
+        }
+
+        public static void UpdateBodyOnly(string res, GameObject sceneObj, bool isAni = false, string effRes = null, bool needSetMask = false, GameObject parentObj = null)
+        {
             //角色
             var roleTf = sceneObj.transform.Find(ROLE_OBJ_NAME);
             parentObj = parentObj == null ? roleTf.gameObject : parentObj;
@@ -243,35 +248,38 @@ namespace GFGGame
             var aniObjName = string.Format(FORMAT_ANIMATION_NAME, itemCfg.subType, layerId);
             TryRemoveAnimationObj(parentObj, aniObjName);
             string ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType);
-            GameObject gameObject = AddSpriteObj(res, ext, spritObjName, parentObj, sortingOrder, needSetMask);
+            
 
             if (itemCfg.isAni > 0 && showAni)
             {
                 AddAnimationObj(res, aniObjName, parentObj, sortingOrder);
-                Timers.inst.Add(0.03f, 1, (obj) =>
-                {
-                    if (parentObj != null && parentObj.transform != null)
-                    {
-                        Transform tf = parentObj.transform.Find(spritObjName);
-                        if (tf != null && tf.gameObject != null && tf.gameObject.activeInHierarchy)
-                        {
-                            var assetDisposer = tf.gameObject.GetComponent<AssetReleaser>();
-                            if (assetDisposer != null)
-                            {
-                                if (!string.IsNullOrEmpty(assetDisposer.resPath))
-                                {
-                                    string resPath = ResPathUtil.GetDressUpPath(res, ext);
-                                    if (assetDisposer.resPath == resPath)
-                                    {
-                                        TryClearSpriteObj(parentObj, spritObjName);
-                                    }
-                                }
-                            }
-                        }
-                    }
-                });
+                //Timers.inst.Add(0.03f, 1, (obj) =>
+                //{
+                //    if (parentObj != null && parentObj.transform != null)
+                //    {
+                //        Transform tf = parentObj.transform.Find(spritObjName);
+                //        if (tf != null && tf.gameObject != null && tf.gameObject.activeInHierarchy)
+                //        {
+                //            var assetDisposer = tf.gameObject.GetComponent<AssetReleaser>();
+                //            if (assetDisposer != null)
+                //            {
+                //                if (!string.IsNullOrEmpty(assetDisposer.resPath))
+                //                {
+                //                    string resPath = ResPathUtil.GetDressUpPath(res, ext);
+                //                    if (assetDisposer.resPath == resPath)
+                //                    {
+                //                        TryClearSpriteObj(parentObj, spritObjName);
+                //                    }
+                //                }
+                //            }
+                //        }
+                //    }
+                //});
+            }
+            else
+            {
+                GameObject gameObject = AddSpriteObj(res, ext, spritObjName, parentObj, sortingOrder, needSetMask);
             }
-
         }
 
         private static GameObject AddSpriteObj(string res, string ext, string objName, GameObject parentObj, int sortingOrder, bool needSetMask)

+ 19 - 13
GameClient/Assets/Game/HotUpdate/DressUp/EquipDataCache.cs → GameClient/Assets/Game/HotUpdate/DressUp/MyDressUpHelper.cs

@@ -2,25 +2,25 @@ using System.Collections.Generic;
 
 namespace GFGGame
 {
-    public class EquipDataCache
+    public class MyDressUpHelper
     {
-        private static DressUpObjDataCache _cacher;
-        public static DressUpObjDataCache cacher
+        private static DressUpObj _dressUpObj;
+        public static DressUpObj dressUpObj
         {
             get
             {
-                if(_cacher == null)
+                if(_dressUpObj == null)
                 {
-                    _cacher = new DressUpObjDataCache();
+                    _dressUpObj = new DressUpObj();
                 }
-                return _cacher;
+                return _dressUpObj;
             }
         }
 
-        public static CustomSuitData GetCurSuitData(int index)
+        public static CustomSuitData GetCurSuitDataClone(int index)
         {
             CustomSuitData suitSavedData = new CustomSuitData(index);
-            suitSavedData.EquipData = EquipDataCache.cacher.GetEquiptDataClone();
+            suitSavedData.dressUpData = MyDressUpHelper.dressUpObj.DressUpDataClone();
             return suitSavedData;
         }
 
@@ -31,8 +31,8 @@ namespace GFGGame
         /// <returns></returns>
         public static bool CheckPutOnFinish()
         {
-            if (EquipDataCache.cacher.suitId > 0) return true;
-            List<int> equipDatas = EquipDataCache.cacher.equipDatas;
+            if (MyDressUpHelper.dressUpObj.suitId > 0) return true;
+            List<int> equipDatas = MyDressUpHelper.dressUpObj.itemList;
             bool isLianYiQun = false;
             bool isShangYi = false;
             bool isXiaZhuang = false;
@@ -62,15 +62,21 @@ namespace GFGGame
             StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
             if (fightCfg.needItemId > 0)
             {
-                return cacher.CheckDressUpItemIsOn(fightCfg.needItemId);
+                return dressUpObj.CheckDressUpItemIsOn(fightCfg.needItemId);
             }
             else if (fightCfg.needSuitId > 0)
             {
-                return cacher.CheckSuitIsOn(fightCfg.needSuitId);
+                return dressUpObj.CheckSuitIsOn(fightCfg.needSuitId);
             }
             return true;
         }
 
+        public static void PutOnSuitSavedByPos(int index)
+        {
+            CustomSuitData suitSavedData = CustomSuitDataManager.GetSuitList(index);
+            dressUpObj.PutOnDressUpData(suitSavedData.dressUpData);
+        }
+
         public static void PutOnRecommendItems()
         {
             List<int> recommendList = DressUpMenuItemDataManager.GetRecommendItemList();
@@ -175,7 +181,7 @@ namespace GFGGame
                 SuitCfg cfg = SuitCfgArray.Instance.GetCfg(fightCfg.needSuitId);
                 recommendList.AddRange(cfg.partsArr);
             }
-            cacher.PutOnItemList(recommendList);
+            dressUpObj.PutOnItemList(recommendList);
         }
 
         private static int CheckIndex(int _subType, List<int> recommendList)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Data/VO/EquipData.cs.meta → GameClient/Assets/Game/HotUpdate/DressUp/MyDressUpHelper.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: de6d230b9aa41db41b67f0bf1a8b7499
+guid: 1d3452fb454ea444dac6d6f4fc9c9242
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 9 - 65
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -1,7 +1,6 @@
 using UnityEngine;
 using System;
 using FairyGUI;
-using System.Collections.Generic;
 
 namespace GFGGame
 {
@@ -17,7 +16,7 @@ namespace GFGGame
             DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
             spr.sprite = sp;
             //角色
-            DressUpUtil.UpdateBody("ui_loginrole", sceneObj, true, null);
+            DressUpUtil.UpdateBodyOnly("ui_loginrole", sceneObj, true);
         }
 
         public static void UpdateMainScene(GameObject sceneObj)
@@ -38,32 +37,8 @@ namespace GFGGame
             spr1.sprite = sp1;
             //角色
             CustomSuitData suitSavedData = CustomSuitDataManager.GetCurrentSuitList();
-            EquipDataCache.cacher.setSceneObj(sceneObj);
-            EquipDataCache.cacher.PutOnEquipData(suitSavedData.EquipData, false);
-        }
-
-
-        public static void UpdateRole(List<int> equipDatas, GameObject sceneObj, bool needSetMask = false, int[] exceptTypes = null, bool showAni = true, GameObject parentObj = null, bool reset = true)
-        {
-            if (reset)
-            {
-                Reset(sceneObj);
-            }
-            int count = equipDatas.Count;
-            for (int i = 0; i < count; i++)
-            {
-                int id = (int)equipDatas[i];
-                if (exceptTypes != null)
-                {
-                    int subType = ItemUtilCS.GetItemSubType(id);
-                    if (Array.IndexOf(exceptTypes, subType) >= 0)
-                    {
-                        continue;
-                    }
-                }
-                DressUpUtil.AddItem(id, sceneObj, needSetMask, showAni, parentObj);
-            }
-            DressUpUtil.UpdateBody(null, sceneObj, false, null, needSetMask, parentObj);
+            MyDressUpHelper.dressUpObj.setSceneObj(sceneObj, false,true,null,false);
+            MyDressUpHelper.dressUpObj.PutOnDressUpData(suitSavedData.dressUpData);
         }
 
         public static void UpdateDialogBg(string value, GameObject sceneObj)
@@ -135,45 +110,14 @@ namespace GFGGame
             spr.sprite = sp;
         }
 
-        private static void Reset(GameObject sceneObj)
-        {
-            //背景层次
-            Transform bg = sceneObj.transform.Find("Bg");
-            if (bg != null)
-            {
-                SpriteRenderer spr = bg.GetComponent<SpriteRenderer>();
-                if (spr != null)
-                {
-                    ItemTypeCfg typeCfg = ItemTypeCfgArray.Instance.GetCfg(ConstDressUpItemType.BEI_JING);
-                    spr.sortingOrder = typeCfg.defaultLayer;
-                }
-            }
-            //角色清理
-            Transform role = sceneObj.transform.Find("Role");
-            if (role != null)
-            {
-                int childCount = role.childCount;
-                for (int i = childCount - 1; i >= 0; --i)
-                {
-                    Transform child = role.GetChild(i);
-                    if (child.gameObject.name != "Body")
-                    {
-                        GameObject.DestroyImmediate(child.gameObject);
-                    }
-                }
-            }
-        }
-
         //拍照角色
-        public static void UpdatePhotographBody(List<int> equipDatas, GameObject sceneObj, GameObject parentObj)
+        public static void UpdatePhotographBody(GameObject sceneObj, GameObject parentObj)
         {
-            SceneController.UpdateRole(equipDatas, sceneObj, false, null, false, parentObj);
-            if (EquipDataCache.cacher.IsAction && EquipDataCache.cacher.suitId > 0)
-            {
-                SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(EquipDataCache.cacher.suitId);
-                DressUpUtil.UpdateBody(suitCfg.picRes, sceneObj, false, null, false, parentObj);
-            }
-            GameObject gameObject = parentObj.transform.Find("Role").gameObject;
+
+            PhotographDataManager.Instance.dressUpObj.setSceneObj(sceneObj,false, false, parentObj, false);
+            PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MyDressUpHelper.dressUpObj.DressUpDataClone());
+
+            GameObject gameObject = parentObj.transform.Find("Head").gameObject;
 
             SceneController.SetBoxCollider2DToGameObject(gameObject);
 

+ 3 - 6
GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/ClothingShopCfgManager.cs

@@ -5,8 +5,6 @@ namespace GFGGame
     public class ClothingShopCfgManager : SingletonBase<ClothingShopCfgManager>
     {
 
-        private Dictionary<int, Dictionary<int, List<ShopCfg>>> _dataDic = new Dictionary<int, Dictionary<int, List<ShopCfg>>>();
-
         public List<ShopCfg> GetList(int storeId, int typeIndex, int scoreType)
         {
             List<ShopCfg> shopCfgs = null;
@@ -34,16 +32,15 @@ namespace GFGGame
             switch (shopType)
             {
                 case ConstStoreId.CLOTHING_STORE_ID:
-
                     return ShopCfgClothingArray.Instance.GetCfg(buyId);
-                case ConstStoreId.LUCKY_BOX_STORE_ID:
 
+                case ConstStoreId.LUCKY_BOX_STORE_ID:
                     return ShopCfgCJArray.Instance.GetCfg(buyId);
-                case ConstStoreId.LUCKY_BOX_ACTIVITY_STORE_ID:
 
+                case ConstStoreId.LUCKY_BOX_ACTIVITY_STORE_ID:
                     return ShopCfgCJAArray.Instance.GetCfg(buyId);
-                case ConstStoreId.GALLERY_STORE_ID:
 
+                case ConstStoreId.GALLERY_STORE_ID:
                     return ShopCfgGalleryArray.Instance.GetCfg(buyId);
             }
             return null;

+ 0 - 77
GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/SuitCfgManager.cs

@@ -1,77 +0,0 @@
-using System.Collections.Generic;
-namespace GFGGame
-{
-    public class SuitCfgManager : SingletonBase<SuitCfgManager>
-    {
-
-        /// <summary>
-        /// 获取所有套装中部件的总个数
-        /// </summary>
-        public int totalItemCount
-        {
-            get
-            {
-                return GlobalCfgArray.globalCfg.suitPartTotalCount;
-            }
-        }
-
-        /// <summary>
-        /// 获取物品所属套装id
-        /// </summary>
-        /// <param name="itemId"></param>
-        /// <returns></returns>
-        public int GetItemSuitId(int itemId)
-        {
-            var itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
-            if (itemCfg != null)
-            {
-                return itemCfg.suitId;
-            }
-            return 0;
-        }
-
-        /// <summary>
-        /// 获取指定套装中部件的总数
-        /// </summary>
-        /// <param name="suitId"></param>
-        /// <returns></returns>
-        public int GetTotalCountOfOneSuit(int suitId)
-        {
-            var suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
-            if (suitCfg != null)
-            {
-                return suitCfg.partsArr.Length;
-            }
-            return 0;
-        }
-
-        /// <summary>
-        /// 获取指定套装中部件的id数组
-        /// </summary>
-        /// <param name="suitId"></param>
-        /// <returns></returns>
-        public int[] GetSuitItems(int suitId, bool checkScene = false)
-        {
-
-            SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
-            if (suitCfg == null)
-            {
-                ET.Log.Error(suitId + "  SuitCfgArray配置不存在");
-            }
-            if (checkScene)
-            {
-                List<int> parts = new List<int>();
-                for (int i = 0; i < suitCfg.partsArr.Length; i++)
-                {
-                    if (!DressUpMenuItemDataManager.CheckIsSceneType(suitCfg.partsArr[i]))
-                    {
-                        parts.Add(suitCfg.partsArr[i]);
-                    }
-                }
-                return parts.ToArray();
-            }
-            return suitCfg.partsArr;
-        }
-
-    }
-}

+ 0 - 11
GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/SuitCfgManager.cs.meta

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

+ 6 - 6
GameClient/Assets/Game/HotUpdate/ServerProxy/CustomSuitSProxy.cs

@@ -9,14 +9,14 @@ namespace GFGGame
 {
     public class CustomSuitSProxy
     {
-        public static async ETTask UpdateCustomSuit(int index, EquipData equipData)
+        public static async ETTask UpdateCustomSuit(int index, DressUpData dressUpData)
         {
             CustomSuitProto suitProto = new CustomSuitProto();
             suitProto.Pos = index;
-            suitProto.BgId = equipData.bgId;
-            suitProto.SuitId = equipData.suitId;
-            suitProto.Pic = equipData.isAction;
-            foreach (var equipId in equipData.equipDatas)
+            suitProto.BgId = dressUpData.bgId;
+            suitProto.SuitId = dressUpData.suitId;
+            suitProto.ActionId = dressUpData.actionId;
+            foreach (var equipId in dressUpData.itemList)
             {
                 suitProto.EquipIds.Add(equipId);
             }
@@ -28,7 +28,7 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    CustomSuitDataManager.SaveSuit(index, equipData);
+                    CustomSuitDataManager.SaveSuit(index, dressUpData);
                     PromptController.Instance.ShowFloatTextPrompt("保存成功", MessageType.SUCCESS);
 
                 }

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

@@ -68,10 +68,10 @@ namespace GFGGame
                     if (response.CustomSuit != null)
                     {
                         roleInfoDetail.customSuitData = new CustomSuitData(response.CustomSuit.Pos);
-                        roleInfoDetail.customSuitData.EquipData.bgId = response.CustomSuit.BgId;
-                        roleInfoDetail.customSuitData.EquipData.suitId = response.CustomSuit.SuitId;
-                        roleInfoDetail.customSuitData.EquipData.equipDatas = response.CustomSuit.EquipIds;
-                        roleInfoDetail.customSuitData.EquipData.isAction = response.CustomSuit.Pic;
+                        roleInfoDetail.customSuitData.dressUpData.bgId = response.CustomSuit.BgId;
+                        roleInfoDetail.customSuitData.dressUpData.suitId = response.CustomSuit.SuitId;
+                        roleInfoDetail.customSuitData.dressUpData.actionId = response.CustomSuit.ActionId;
+                        roleInfoDetail.customSuitData.dressUpData.itemList = response.CustomSuit.EquipIds;
                     }
 
                     return roleInfoDetail;

+ 5 - 5
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/ClothingView.cs

@@ -17,7 +17,7 @@ namespace GFGGame
         private GoWrapper _wrapper;
         private GameObject _gameobject1;
         private GoWrapper _wrapper1;
-        private DressUpObjDataCache _dressUpObjDataCache;
+        private DressUpObj _dressUpObj;
         private bool _actionIsPic;
 
         private List<int> _suitIds;//已解锁套装列表
@@ -66,7 +66,7 @@ namespace GFGGame
             // this.clickBlankToClose = false;
             _valueBarController = new ValueBarController(_ui.m_valueBar);
             _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneSuitFoster"));
-            _dressUpObjDataCache = new DressUpObjDataCache();
+            _dressUpObj = new DressUpObj();
 
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
             _ui.m_btnLeft.onClick.Add(() => { OnClickBtnDirection(-1); });
@@ -183,9 +183,9 @@ namespace GFGGame
             _sceneObject = GameObject.Instantiate(_scenePrefab);
             int scale = 100;
             _sceneObject.transform.localScale = new Vector3(scale, scale, scale);
-            _dressUpObjDataCache.setSceneObj(_sceneObject);
-            _dressUpObjDataCache.PutOnDefaultSuitSaved(false);
-            _dressUpObjDataCache.PutOnSuitCfg(_suitId, isPic, false, new int[] { ConstDressUpItemType.BEI_JING });
+            _dressUpObj.setSceneObj(_sceneObject, false,true, null, false);
+            _dressUpObj.PutOnDefaultDressUpData();
+            _dressUpObj.PutOnSuitCfg(_suitId, isPic, new int[] { ConstDressUpItemType.BEI_JING });
             if (_wrapper == null)
             {
                 _wrapper = new GoWrapper(_sceneObject);

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

@@ -20,7 +20,7 @@ namespace GFGGame
         private GameObject _scenePrefab;
         private GameObject _sceneObject;
         private GoWrapper _wrapper;
-        private DressUpObjDataCache _dressUpObjDataCache;
+        private DressUpObj _dressUpObj;
         private ValueBarController _valueBarController;
         private List<ShopCfg> _dataList;
         private GImage _comSelected;
@@ -60,10 +60,10 @@ namespace GFGGame
                 _comSelected.RemoveFromParent();
                 _comSelected.Dispose();
             }
-            if (_dressUpObjDataCache != null)
+            if (_dressUpObj != null)
             {
-                _dressUpObjDataCache.Dispose();
-                _dressUpObjDataCache = null;
+                _dressUpObj.Dispose();
+                _dressUpObj = null;
             }
             _cfgSelected = null;
 
@@ -86,7 +86,7 @@ namespace GFGGame
 
             _valueBarController = new ValueBarController(_ui.m_valueBar);
             _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneDressUp"));
-            _dressUpObjDataCache = new DressUpObjDataCache();
+            _dressUpObj = new DressUpObj();
 
             _comSelected = new GImage();
             _comSelected.x = -5;
@@ -261,9 +261,9 @@ namespace GFGGame
             _sceneObject = GameObject.Instantiate(_scenePrefab);
             int scale = 70;
             _sceneObject.transform.localScale = new Vector3(scale, scale, scale);
-            _dressUpObjDataCache.setSceneObj(_sceneObject);
-            _dressUpObjDataCache.PutOnDefaultSuitSaved(false);
-            _dressUpObjDataCache.AddOrRemove(_cfgSelected.itemID, true);
+            _dressUpObj.setSceneObj(_sceneObject,false, true, null, false);
+            _dressUpObj.PutOnDefaultDressUpData();
+            _dressUpObj.AddOrRemove(_cfgSelected.itemID, true);
             if (_wrapper == null)
             {
                 _wrapper = new GoWrapper(_sceneObject);

+ 9 - 9
GameClient/Assets/Game/HotUpdate/Views/ClothingSynthetic/ClothingSyntheticView.cs

@@ -37,7 +37,7 @@ namespace GFGGame
         private GameObject _scenePrefab;
         private GameObject _sceneObject;
         private GoWrapper _wrapper;
-        private DressUpObjDataCache _dressUpObjDataCache;
+        private DressUpObj _dressUpObj;
         private ValueBarController _valueBarController;
         private GImage _imgSelected;
         private int _suitId;
@@ -68,10 +68,10 @@ namespace GFGGame
                 _imgSelected.RemoveFromParent();
                 _imgSelected.Dispose();
             }
-            if (_dressUpObjDataCache != null)
+            if (_dressUpObj != null)
             {
-                _dressUpObjDataCache.Dispose();
-                _dressUpObjDataCache = null;
+                _dressUpObj.Dispose();
+                _dressUpObj = null;
             }
             if (_wrapper != null)
             {
@@ -100,7 +100,7 @@ namespace GFGGame
             _valueBarController = new ValueBarController(_ui.m_valueBar);
 
             _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneDressUpSynthetic"));
-            _dressUpObjDataCache = new DressUpObjDataCache();
+            _dressUpObj = new DressUpObj();
 
             _imgSelected = new GImage();
             _imgSelected = UIPackage.CreateObject(UI_ClothingSyntheticUI.PACKAGE_NAME, "hc_kuang_4").asImage;
@@ -232,9 +232,9 @@ namespace GFGGame
             _sceneObject = GameObject.Instantiate(_scenePrefab);
             int scale = 45;
             _sceneObject.transform.localScale = new Vector3(scale, scale, scale);
-            _dressUpObjDataCache.setSceneObj(_sceneObject, true);
-            _dressUpObjDataCache.PutOnDefaultSuitSaved(false);
-            _dressUpObjDataCache.AddOrRemove(_selectedItemId, true);
+            _dressUpObj.setSceneObj(_sceneObject, true, true, null, false);
+            _dressUpObj.PutOnDefaultDressUpData();
+            _dressUpObj.AddOrRemove(_selectedItemId, true);
             if (_wrapper == null)
             {
                 _wrapper = new GoWrapper(_sceneObject);
@@ -290,7 +290,7 @@ namespace GFGGame
             //进度条
             UpdateSuitProgress();
             //服装列表
-            _items = SuitCfgManager.Instance.GetSuitItems(_suitId).Clone() as int[];
+            _items = SuitCfgArray.Instance.GetSuitItems(_suitId).Clone() as int[];
             ItemUtil.SortItemIdsByOwned(_items);
             _ui.m_listClothing.RemoveChildrenToPool();
             _ui.m_listClothing.numItems = _items.Length;

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/Common/Controller/GetSuitItemController.cs

@@ -18,7 +18,7 @@ namespace GFGGame
             {
                 return;
             }
-            int suitId = SuitCfgManager.Instance.GetItemSuitId(itemId);
+            int suitId = SuitCfgArray.Instance.GetSuitIdOfItem(itemId);
             if (_waitingToShowSuit.IndexOf(suitId) < 0)
             {
                 _waitingToShowSuit.Add(suitId);
@@ -31,7 +31,7 @@ namespace GFGGame
             if (itemId > 0)
             {
                 // int index = _waitingToShowList.IndexOf(itemId);
-                suitId = SuitCfgManager.Instance.GetItemSuitId(itemId);
+                suitId = SuitCfgArray.Instance.GetSuitIdOfItem(itemId);
 
                 int index = _waitingToShowSuit.IndexOf(suitId);
                 if (index >= 0)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/CommonGame/ApproachView.cs

@@ -262,7 +262,7 @@ namespace GFGGame
                 case ConstFunctionId.FU_ZHUANG_HE_CHENG:
 
                     isJump = false;
-                    int suitId = SuitCfgManager.Instance.GetItemSuitId(_itemId);
+                    int suitId = SuitCfgArray.Instance.GetSuitIdOfItem(_itemId);
                     if (suitId > 0)
                     {
                         SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);

+ 8 - 8
GameClient/Assets/Game/HotUpdate/Views/CommonGame/GetSuitItemVIew.cs

@@ -13,7 +13,7 @@ namespace GFGGame
         private GoWrapper _wrapper;
         private GameObject _gameObject1;
         private GoWrapper _wrapper1;
-        private DressUpObjDataCache _dressUpObjDataCache;
+        private DressUpObj _dressUpObj;
 
         private int guideId = 0;//0:没有引导 1:首次获得套装2:首次获得套装部件
         public override void Dispose()
@@ -31,10 +31,10 @@ namespace GFGGame
                 _wrapper = null;
             }
 
-            if (_dressUpObjDataCache != null)
+            if (_dressUpObj != null)
             {
-                _dressUpObjDataCache.Dispose();
-                _dressUpObjDataCache = null;
+                _dressUpObj.Dispose();
+                _dressUpObj = null;
             }
             if (_ui != null)
             {
@@ -52,7 +52,7 @@ namespace GFGGame
             isfullScreen = true;
 
             _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneDressUp"));
-            _dressUpObjDataCache = new DressUpObjDataCache();
+            _dressUpObj = new DressUpObj();
             _ui.m_bg.onClick.Add(OnClickBg);
 
             string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_tz");
@@ -163,9 +163,9 @@ namespace GFGGame
             int scale = 70;
             _sceneObject.transform.localScale = new Vector3(scale, scale, scale);
 
-            _dressUpObjDataCache.setSceneObj(_sceneObject);
-            _dressUpObjDataCache.PutOnDefaultSuitSaved(false);
-            _dressUpObjDataCache.PutOnSuitCfg(suitId, false, false, new int[] { ConstDressUpItemType.BEI_JING }, false, false);
+            _dressUpObj.setSceneObj(_sceneObject, false, true, null,  false);
+            _dressUpObj.PutOnDefaultDressUpData();
+            _dressUpObj.PutOnSuitCfg(suitId, false, new int[] { ConstDressUpItemType.BEI_JING }, false, false);
             if (_wrapper == null)
             {
                 _wrapper = new GoWrapper(_sceneObject);

+ 29 - 28
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -184,8 +184,8 @@ namespace GFGGame
             if (_sceneObject == null)
             {
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
-                EquipDataCache.cacher.setSceneObj(_sceneObject);
-                EquipDataCache.cacher.PutOnDefaultSuitSaved();
+                MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, false, false);
+                MyDressUpHelper.dressUpObj.PutOnDefaultDressUpData();
             }
             UpdateScore();
             SendLog();
@@ -241,7 +241,7 @@ namespace GFGGame
                     // ViewManager.GoBackFrom(ViewName.STORY_CHAPTER_VIEW);
                     ViewManager.Show(ViewName.STORY_CHAPTER_VIEW, _levelCfg.chapterId);//, new object[] { ViewName.STORY_CHAPTER_LIST_VIEW }
                 }
-                EquipDataCache.cacher.TakeOffAll();
+                //MyDressUpHelper.dressUpObj.TakeOffAll();
 
                 this.Hide();
             });
@@ -255,7 +255,7 @@ namespace GFGGame
             AlertUI.Show("是否返回?")
            .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
            {
-               EquipDataCache.cacher.TakeOffAll();
+               //MyDressUpHelper.dressUpObj.TakeOffAll();
 
                GameController.GoBackToMainView();
            });
@@ -321,12 +321,12 @@ namespace GFGGame
             {
                 this.showListParts2(id);
                 this.hideListParts();
-                EquipDataCache.cacher.PutOnSuitCfg(id, false, true);
+                MyDressUpHelper.dressUpObj.PutOnSuitCfg(id, false);
             }
             else
             {
-                EquipDataCache.cacher.TryCancelSuit(id);
-                EquipDataCache.cacher.AddOrRemove(id, true);
+                MyDressUpHelper.dressUpObj.CheckCancelActionWhenPutOn(id);
+                MyDressUpHelper.dressUpObj.AddOrRemove(id, true);
 
             }
             UpdateListPartsSelected();
@@ -341,8 +341,8 @@ namespace GFGGame
             GObject listItem = (GObject)context.data as GObject;
             int id = (int)listItem.data;
 
-            EquipDataCache.cacher.TryCancelSuit(id);
-            EquipDataCache.cacher.AddOrRemove(id, true);
+            MyDressUpHelper.dressUpObj.CheckCancelActionWhenPutOn(id);
+            MyDressUpHelper.dressUpObj.AddOrRemove(id, true);
 
             UpdateListSuitPartsSelected();
         }
@@ -386,7 +386,7 @@ namespace GFGGame
 
         private void OnClickBtnDelete()
         {
-            EquipDataCache.cacher.TakeOffAll();
+            MyDressUpHelper.dressUpObj.TakeOffAll();
             _ui.m_partsList.m_list.numItems = _currentList3.Count;
             _ui.m_partsList2.m_list.numItems = _currentList4.Count;
 
@@ -400,7 +400,7 @@ namespace GFGGame
 
         private void OnClickBtnNext()
         {
-            if (!EquipDataCache.CheckPutOnFinish())
+            if (!MyDressUpHelper.CheckPutOnFinish())
             {
                 AlertUI.Show("只有换好衣服才能出门哦!")
                     .SetRightButton(true, "好的");
@@ -423,10 +423,10 @@ namespace GFGGame
         }
         private bool CheckHasNeed()
         {
-            int _suitId = EquipDataCache.cacher.CheckCurDressIsSuit();
+            int _suitId = MyDressUpHelper.dressUpObj.suitId;
             bool isNoSuit = _fightCfg.needSuitId > 0 && _suitId != _fightCfg.needSuitId;//需要套装但未穿套装
             
-            bool isNoItem = _fightCfg.needItemId > 0 && (_suitId <= 0 && !EquipDataCache.cacher.CheckDressUpItemIsOn(_fightCfg.needItemId) || _suitId > 0 && Array.IndexOf(SuitCfgArray.Instance.GetCfg(_suitId).partsArr, _fightCfg.needItemId) < 0);
+            bool isNoItem = _fightCfg.needItemId > 0 && (_suitId <= 0 && !MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(_fightCfg.needItemId) || _suitId > 0 && Array.IndexOf(SuitCfgArray.Instance.GetCfg(_suitId).partsArr, _fightCfg.needItemId) < 0);
 
             if (isNoSuit || isNoItem)
             {
@@ -478,7 +478,6 @@ namespace GFGGame
                 FieldFightDataManager.Instance.CurrentCardId = InstanceZonesDataManager.currentCardId;
                 FieldFightDataManager.Instance.CurrentScoreType = InstanceZonesDataManager.currentScoreType;
                 FieldFightDataManager.Instance.currentLevelCfgId = InstanceZonesDataManager.currentLevelCfgId;
-                FieldFightDataManager.Instance.equipDatas = EquipDataCache.cacher.equipDatas;
             }
 
 
@@ -500,9 +499,9 @@ namespace GFGGame
                 this.hideListParts2();
                 this.showListParts(ConstDressUpItemType.TAO_ZHUANG, true);
             }
-            EquipDataCache.cacher.TryCancelSuit(_currentSuitId);
+            MyDressUpHelper.dressUpObj.CheckCancelActionWhenPutOn(_currentSuitId);
             InstanceZonesDataManager.usedRecommend = true;
-            EquipDataCache.PutOnRecommendItems();
+            MyDressUpHelper.PutOnRecommendItems();
             UpdateListPartsSelected();
             UpdateListSuitPartsSelected();
             if (!CheckHasNeed())
@@ -593,7 +592,7 @@ namespace GFGGame
             }
             if (selectItem)
             {
-                int itemId = EquipDataCache.cacher.GetItemIdBuyType(_currentMenuType);
+                int itemId = MyDressUpHelper.dressUpObj.GetItemIdBuyType(_currentMenuType);
                 if (itemId > 0)
                 {
                     int index = _currentList3.IndexOf(itemId);
@@ -691,7 +690,7 @@ namespace GFGGame
         {
             if (_currentMenuType == 0) return;
 
-            _currentList4 = new List<int>(SuitCfgManager.Instance.GetSuitItems(_currentSuitId, true));
+            _currentList4 = new List<int>(SuitCfgArray.Instance.GetSuitItems(_currentSuitId, true));
 
             if (DressUpMenuItemDataManager.dressFilterType == DressFilterType.Search)
             {
@@ -801,7 +800,7 @@ namespace GFGGame
                 ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
                 iconRes = itemCfg.res;
                 partName = itemCfg.name;
-                listItem.m_iconSelected.visible = EquipDataCache.cacher.CheckDressUpItemIsOn(id);
+                listItem.m_iconSelected.visible = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);
                 listItem.m_txtScore.text = "" + ItemDataManager.GetItemAdditionScore(id, InstanceZonesDataManager.currentScoreType, _fightCfg.needTagsArr);
                 listItem.m_loaBorder.url = "ui://DressUp/hz_kuangk_" + itemCfg.rarity;
                 bool isNew = DressUpMenuItemDataManager.CheckIsDressUpItemNew(id);
@@ -846,7 +845,7 @@ namespace GFGGame
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
             iconRes = itemCfg.res;
             partName = itemCfg.name;
-            listItem.m_iconSelected.visible = EquipDataCache.cacher.CheckDressUpItemIsOn(id);
+            listItem.m_iconSelected.visible = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);
             listItem.m_loaBorder.url = "ui://DressUp/hz_kuangk_" + itemCfg.rarity;
             RarityIconController.UpdateRarityIcon(listItem.m_rarity, id, false);
             ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType, true);
@@ -877,7 +876,7 @@ namespace GFGGame
         private void UpdateListPartsSelected()
         {
             int count = _ui.m_partsList.m_list.numChildren;
-            int suitId = EquipDataCache.cacher.CheckCurDressIsSuit();
+            int suitId = MyDressUpHelper.dressUpObj.suitId;
 
             for (int i = 0; i < count; i++)
             {
@@ -889,9 +888,10 @@ namespace GFGGame
                 }
                 else
                 {
-                    bool isPutOn = EquipDataCache.cacher.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
-                    bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
-                    bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                    bool isPutOn = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
+                    var isSceneType = DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(id);
+                    bool isSuit = !isSceneType && suitId > 0 && SuitCfgArray.Instance.GetSuitIdOfItem(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                    bool isSceneSuit = isSceneType && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
                     listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
                 }
                 UI_PartsListItem.ProxyEnd();
@@ -900,16 +900,17 @@ namespace GFGGame
         private void UpdateListSuitPartsSelected()
         {
             int count = _ui.m_partsList2.m_list.numChildren;
-            int suitId = EquipDataCache.cacher.CheckCurDressIsSuit();
+            int suitId = MyDressUpHelper.dressUpObj.suitId;
 
             for (int i = 0; i < count; i++)
             {
                 UI_PartsListItem listItem = UI_PartsListItem.Proxy(_ui.m_partsList2.m_list.GetChildAt(i));
                 int id = (int)listItem.target.data;
 
-                bool isPutOn = EquipDataCache.cacher.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
-                bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
-                bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                bool isPutOn = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
+                var isSceneType = DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(id);
+                bool isSuit = !isSceneType && suitId > 0 && SuitCfgArray.Instance.GetSuitIdOfItem(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                bool isSceneSuit = isSceneType && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
                 listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
                 UI_PartsListItem.ProxyEnd();
             }

+ 32 - 34
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs

@@ -130,10 +130,10 @@ namespace GFGGame
             if (_sceneObject == null)
             {
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
-                EquipDataCache.cacher.setSceneObj(_sceneObject);
+                MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject);
             }
             _ui.m_comboBox.selectedIndex = CustomSuitDataManager.currentIndex;
-            EquipDataCache.cacher.PutOnSuitSavedByPos(CustomSuitDataManager.currentIndex);
+            MyDressUpHelper.PutOnSuitSavedByPos(CustomSuitDataManager.currentIndex);
             // UpdateStepBtn();
             // AddMemoryDressup();
             Timers.inst.AddUpdate(CheckGuide);
@@ -144,8 +144,8 @@ namespace GFGGame
             base.OnHide();
             listTypeItem_FreedomDress = null;
             // MusicManager.Instance.Play(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
-            EquipDataCache.cacher.setSceneObj(_sceneObject);//在拍照界面断线返回登录,需要重新设置_sceneObject
-            EquipDataCache.cacher.TakeOffAll();
+            MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject);//在拍照界面断线返回登录,需要重新设置_sceneObject
+            MyDressUpHelper.dressUpObj.TakeOffAll();
 
             if (_sceneObject != null)
             {
@@ -186,7 +186,7 @@ namespace GFGGame
         {
             if (_stepIndex - 1 < 0) return;
             _stepIndex--;
-            EquipDataCache.cacher.PutOnEquipData(_dressMemory[_stepIndex].EquipData);
+            MyDressUpHelper.dressUpObj.PutOnDressUpData(_dressMemory[_stepIndex].dressUpData);
             _ui.m_comboBox.selectedIndex = _dressMemory[_stepIndex].pos;
             UpdateStepBtn();
         }
@@ -194,14 +194,14 @@ namespace GFGGame
         {
             if (_stepIndex + 1 >= MAX_MEMORY_STEP) return;
             _stepIndex++;
-            EquipDataCache.cacher.PutOnEquipData(_dressMemory[_stepIndex].EquipData);
+            MyDressUpHelper.dressUpObj.PutOnDressUpData(_dressMemory[_stepIndex].dressUpData);
             _ui.m_comboBox.selectedIndex = _dressMemory[_stepIndex].pos;
             UpdateStepBtn();
 
         }
         private void OnComboBoxChanged()
         {
-            EquipDataCache.cacher.PutOnSuitSavedByPos(_ui.m_comboBox.selectedIndex);
+            MyDressUpHelper.PutOnSuitSavedByPos(_ui.m_comboBox.selectedIndex);
         }
 
         private void OnClickListType1Item(EventContext context)
@@ -251,18 +251,18 @@ namespace GFGGame
             }
             GObject listItem = (GObject)context.data as GObject;
             int id = (int)listItem.data;
-            bool isSuit = SuitCfgManager.Instance.GetTotalCountOfOneSuit(id) > 0;
+            bool isSuit = SuitCfgArray.Instance.GetTotalCountOfOneSuit(id) > 0;
             if (isSuit)
             {
                 this.showListParts2(id);
                 this.hideListParts();
-                EquipDataCache.cacher.PutOnSuitCfg(id, true, false);
+                MyDressUpHelper.dressUpObj.PutOnSuitCfg(id, true);
                 UpdateBtnAction();
             }
             else
             {
-                EquipDataCache.cacher.TryCancelSuit(id);
-                EquipDataCache.cacher.AddOrRemove(id, true);
+                MyDressUpHelper.dressUpObj.CheckCancelActionWhenPutOn(id);
+                MyDressUpHelper.dressUpObj.AddOrRemove(id, true);
             }
             UpdateListPartsSelected();
             UpdateListSuitPartsSelected(); ;
@@ -279,8 +279,8 @@ namespace GFGGame
             GObject listItem = (GObject)context.data as GObject;
             int id = (int)listItem.data;
 
-            EquipDataCache.cacher.TryCancelSuit(id);
-            EquipDataCache.cacher.AddOrRemove(id, true);
+            MyDressUpHelper.dressUpObj.CheckCancelActionWhenPutOn(id);
+            MyDressUpHelper.dressUpObj.AddOrRemove(id, true);
 
             UpdateListSuitPartsSelected();
             UpdateBtnAction();
@@ -298,7 +298,7 @@ namespace GFGGame
             {
                 _dressMemory.RemoveRange(_stepIndex, _dressMemory.Count - _stepIndex);
             }
-            CustomSuitData suitSavedData = EquipDataCache.GetCurSuitData(_ui.m_comboBox.selectedIndex);
+            CustomSuitData suitSavedData = MyDressUpHelper.GetCurSuitDataClone(_ui.m_comboBox.selectedIndex);
             _dressMemory.Add(suitSavedData);
             UpdateStepBtn();
         }
@@ -345,7 +345,7 @@ namespace GFGGame
 
         private void OnClickBtnDelete()
         {
-            EquipDataCache.cacher.TakeOffAll();
+            MyDressUpHelper.dressUpObj.TakeOffAll();
             UpdateBtnAction();
             _ui.m_partsList.m_list.numItems = _currentList3.Count;
             _ui.m_partsList2.m_list.numItems = _currentList4.Count;
@@ -364,10 +364,7 @@ namespace GFGGame
 
         private void OnClickBtnAction()
         {
-            if (!_ui.m_btnAction.grayed)
-            {
-                EquipDataCache.cacher.ChangeAction();
-            }
+            MyDressUpHelper.dressUpObj.PutOnOrTakeOffAction(201003);
         }
         private void OnClickBtnSearch()
         {
@@ -479,7 +476,7 @@ namespace GFGGame
             }
             if (selectItem)
             {
-                int itemId = EquipDataCache.cacher.GetItemIdBuyType(_currentMenuType);
+                int itemId = MyDressUpHelper.dressUpObj.GetItemIdBuyType(_currentMenuType);
                 if (itemId > 0)
                 {
                     int index = _currentList3.IndexOf(itemId);
@@ -603,7 +600,7 @@ namespace GFGGame
                 ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
                 iconRes = itemCfg.res;
                 partName = itemCfg.name;
-                listItem.m_iconSelected.visible = EquipDataCache.cacher.CheckDressUpItemIsOn(id);
+                listItem.m_iconSelected.visible = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);
                 listItem.m_loaBorder.url = "ui://DressUp/hz_kuangk_" + itemCfg.rarity;
 
                 RarityIconController.UpdateRarityIcon(listItem.m_rarity, id, false);
@@ -661,7 +658,7 @@ namespace GFGGame
             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
             iconRes = itemCfg.res;
             partName = itemCfg.name;
-            listItem.m_iconSelected.visible = !_ui.m_btnAction.grayed || EquipDataCache.cacher.CheckDressUpItemIsOn(id);
+            listItem.m_iconSelected.visible = !_ui.m_btnAction.grayed || MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);
             listItem.m_loaBorder.url = "ui://DressUp/hz_kuangk_" + itemCfg.rarity;
             RarityIconController.UpdateRarityIcon(listItem.m_rarity, id, false);
             ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType, true);
@@ -690,7 +687,7 @@ namespace GFGGame
         private void UpdateListPartsSelected()
         {
             int count = _ui.m_partsList.m_list.numChildren;
-            int suitId = EquipDataCache.cacher.CheckCurDressIsSuit();
+            int suitId = MyDressUpHelper.dressUpObj.suitId;
 
             for (int i = 0; i < count; i++)
             {
@@ -702,11 +699,12 @@ namespace GFGGame
                 }
                 else
                 {
-                    bool isPutOn = EquipDataCache.cacher.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
-                    bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                    bool isPutOn = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);//非套装判断是否穿戴
+                    bool isSceneType = DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(id);
+                    bool isSuit = !isSceneType && suitId > 0 && SuitCfgArray.Instance.GetSuitIdOfItem(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
 
-                    isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && suitId == id;
-                    bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                    isSuit = !isSceneType && suitId > 0 && suitId == id;
+                    bool isSceneSuit = isSceneType && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
                     listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
                 }
                 UI_PartsListItem.ProxyEnd();
@@ -715,15 +713,15 @@ namespace GFGGame
         private void UpdateListSuitPartsSelected()
         {
             int count = _ui.m_partsList2.m_list.numChildren;
-            int suitId = EquipDataCache.cacher.CheckCurDressIsSuit();
+            int suitId = MyDressUpHelper.dressUpObj.suitId;
             for (int i = 0; i < count; i++)
             {
                 UI_PartsListItem listItem = UI_PartsListItem.Proxy(_ui.m_partsList2.m_list.GetChildAt(i));
                 int id = (int)listItem.target.data;
 
-                bool isPutOn = EquipDataCache.cacher.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
-                bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
-                bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                bool isPutOn = MyDressUpHelper.dressUpObj.CheckDressUpItemIsOn(id);//非套装判断是否穿戴
+                bool isSuit = !DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(id) && suitId > 0 && SuitCfgArray.Instance.GetSuitIdOfItem(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                bool isSceneSuit = DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
                 listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
                 UI_PartsListItem.ProxyEnd();
             }
@@ -783,7 +781,7 @@ namespace GFGGame
         {
             if (_currentMenuType == 0) return;
 
-            _currentList4 = new List<int>(SuitCfgManager.Instance.GetSuitItems(_currentSuitId));
+            _currentList4 = new List<int>(SuitCfgArray.Instance.GetSuitItems(_currentSuitId));
             if (_rarityIndex == SORT_BY_HIGH_RARITY)
             {
                 _currentList4 = DressUpMenuItemDataManager.SortItemListByHighRarity(_currentList4);
@@ -816,7 +814,7 @@ namespace GFGGame
             _ui.m_btnAction.visible = (_currentMenuType == ConstDressUpItemType.TAO_ZHUANG) || this.currentListType == DressUpListType.List4;
             if (_ui.m_btnAction.visible)
             {
-                _ui.m_btnAction.grayed = !EquipDataCache.cacher.HasSuitPicRes;
+                //_ui.m_btnAction.grayed = !EquipDataCache.cacher.HasSuitActionRes;
             }
         }
 
@@ -874,7 +872,7 @@ namespace GFGGame
             _ui.target.visible = true;
             this._sceneObject.gameObject.SetActive(true);
 
-            EquipDataCache.cacher.setSceneObj(_sceneObject);
+            MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject);
 
         }
         private void SetBtnShowVisable(object param)

+ 6 - 4
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs

@@ -124,7 +124,7 @@ namespace GFGGame
             if (_sceneObject == null)
             {
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
-                EquipDataCache.cacher.setSceneObj(_sceneObject);
+                MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject);
                 PhotographSceneManager.Instance.sceneObject = _sceneObject;
             }
             pinchGesture = new PinchGesture(_ui.target);
@@ -136,7 +136,7 @@ namespace GFGGame
 
             RefreshList(EnumPhotographType.BG);
             SetUIView();
-            PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(EquipDataCache.cacher.bgId));
+            PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MyDressUpHelper.dressUpObj.bgId));
             PhotographSceneManager.Instance.AddBodyItem();
             UpdateScene();
             PhotographDataManager.Instance.SetLayer(null, "refresh");
@@ -474,12 +474,14 @@ namespace GFGGame
             Transform transform = memoryHitGameObj.transform;
             if (memoryHitGameObj.name == RoleName)
             {
-                transform.Rotate(Vector3.up, 180, Space.Self);
+                //transform.Rotate(Vector3.up, 180, Space.Self);
+                var newValue = -transform.localScale.x;
+                transform.localScale = new Vector3(newValue, transform.localScale.y, transform.localScale.z);
                 return;
             }
             for (int i = 0; i < transform.childCount; i++)
             {
-                transform.GetChild(i).Rotate(Vector3.up, 180, Space.Self);
+                //transform.GetChild(i).Rotate(Vector3.up, 180, Space.Self);
             }
         }
         private void OnTouchBtnFlipEnd()

+ 0 - 1
GameClient/Assets/Game/HotUpdate/Views/Field/FieldFightInfoView.cs

@@ -72,7 +72,6 @@ namespace GFGGame
                 InstanceZonesDataManager.currentCardId = FieldFightDataManager.Instance.CurrentCardId;
                 InstanceZonesDataManager.currentScoreType = FieldFightDataManager.Instance.CurrentScoreType;
                 InstanceZonesDataManager.currentLevelCfgId = FieldFightDataManager.Instance.currentLevelCfgId;
-                EquipDataCache.cacher.equipDatas = FieldFightDataManager.Instance.equipDatas;
 
                 ViewManager.Hide<FieldView>();
                 ViewManager.Show(ViewName.STORY_FIGHT_TARGET_VIEW);

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitPartsDetailView.cs

@@ -44,7 +44,7 @@ namespace GFGGame
             base.OnShown();
             itemViews.Clear();
             int suitId = (int)this.viewData;
-            _items = SuitCfgManager.Instance.GetSuitItems(suitId);
+            _items = SuitCfgArray.Instance.GetSuitItems(suitId);
             _ui.m_listParts.numItems = _items.Length;
             if (_ui.m_listParts.numItems > 0)
             {

+ 9 - 19
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitShowView.cs

@@ -13,7 +13,7 @@ namespace GFGGame
         private GameObject _scenePrefab;
         private GameObject _sceneObject;
         private GoWrapper _wrapper;
-        private DressUpObjDataCache _dressUpObjDataCache;
+        private DressUpObj _dressUpObj;
         private bool _actionIsPic;
         private List<int> _suitIds;
 
@@ -30,10 +30,10 @@ namespace GFGGame
                 _wrapper.Dispose();
                 _wrapper = null;
             }
-            if (_dressUpObjDataCache != null)
+            if (_dressUpObj != null)
             {
-                _dressUpObjDataCache.Dispose();
-                _dressUpObjDataCache = null;
+                _dressUpObj.Dispose();
+                _dressUpObj = null;
             }
             if (_ui != null)
             {
@@ -53,12 +53,12 @@ namespace GFGGame
             this.clickBlankToClose = false;
 
             _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneDressUp"));
-            _dressUpObjDataCache = new DressUpObjDataCache();
+            _dressUpObj = new DressUpObj();
 
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
 
             _ui.m_imgBonusBox.target.onClick.Add(OnClickImgBonusBox);
-            _ui.m_btnChangeAction.onClick.Add(OnClickBtnChangeAction);
+            _ui.m_btnChangeAction.visible = false;
 
             _ui.m_btnLeft.onClick.Add(OnClickBtnLeft);
 
@@ -122,15 +122,6 @@ namespace GFGGame
             SuitUtil.ShowSuitGuideBonus(_suitId);
         }
 
-        private void OnClickBtnChangeAction()
-        {
-            if (!_ui.m_btnChangeAction.grayed)
-            {
-                _actionIsPic = !_actionIsPic;
-                UpdateSuitView(_actionIsPic);
-            }
-        }
-
         private void UpdateSuitView(bool isPic = true)
         {
             _actionIsPic = isPic;
@@ -144,9 +135,9 @@ namespace GFGGame
             _sceneObject = GameObject.Instantiate(_scenePrefab);
             int scale = 100;
             _sceneObject.transform.localScale = new Vector3(scale, scale, scale);
-            _dressUpObjDataCache.setSceneObj(_sceneObject);
-            _dressUpObjDataCache.PutOnDefaultSuitSaved(false);
-            _dressUpObjDataCache.PutOnSuitCfg(_suitId, isPic, false, new int[] { ConstDressUpItemType.BEI_JING });
+            _dressUpObj.setSceneObj(_sceneObject, false,true,null,false);
+            _dressUpObj.PutOnDefaultDressUpData();
+            _dressUpObj.PutOnSuitCfg(_suitId, isPic, new int[] { ConstDressUpItemType.BEI_JING });
             if (_wrapper == null)
             {
                 _wrapper = new GoWrapper(_sceneObject);
@@ -156,7 +147,6 @@ namespace GFGGame
             {
                 _wrapper.wrapTarget = _sceneObject;
             }
-            _ui.m_btnChangeAction.grayed = !_dressUpObjDataCache.HasSuitPicRes;
             UpdateSuitBoxStatus();
         }
 

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

@@ -11,7 +11,7 @@ namespace GFGGame
 
         private GameObject _scenePrefab;
         private GameObject _sceneObject;
-        private DressUpObjDataCache _dressUpObjDataCache;
+        private DressUpObj _dressUpObj;
 
         private long _friendRoleId;
 
@@ -22,7 +22,7 @@ namespace GFGGame
                 GameObject.Destroy(_sceneObject);
                 _sceneObject = null;
             }
-            _dressUpObjDataCache = null;
+            _dressUpObj = null;
 
             if (_ui != null)
             {
@@ -45,7 +45,7 @@ namespace GFGGame
             viewCom = _ui.target;
             isfullScreen = true;
             _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneFriend"));
-            _dressUpObjDataCache = new DressUpObjDataCache();
+            _dressUpObj = new DressUpObj();
 
             _ui.m_list.SetVirtual();
             _ui.m_list.itemRenderer = RenderListItem;
@@ -73,8 +73,8 @@ namespace GFGGame
             {
                 CustomSuitData customSuit = CustomSuitDataManager.GetSuitList(CustomSuitDataManager.currentIndex);
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
-                _dressUpObjDataCache.setSceneObj(_sceneObject);
-                _dressUpObjDataCache.AddOrRemove(customSuit.EquipData.bgId, true);
+                _dressUpObj.setSceneObj(_sceneObject);
+                _dressUpObj.AddOrRemove(customSuit.dressUpData.bgId, true);
             }
             FriendDataManager.Instance.UpdateFriendList(true);
             _ui.m_list.numItems = FriendDataManager.Instance.FriendDatas.Count;
@@ -277,13 +277,13 @@ namespace GFGGame
 
             if (suitSavedData != null)
             {
-                _dressUpObjDataCache.PutOnEquipData(suitSavedData.EquipData);
+                _dressUpObj.PutOnDressUpData(suitSavedData.dressUpData);
                 _ui.m_txtName.text = string.Format("我的套装{0}", NumberUtil.GetChiniseNumberText(suitSavedData.pos + 1));
 
             }
             else
             {
-                _dressUpObjDataCache.PutOnDefaultSuitSaved();
+                _dressUpObj.PutOnDefaultDressUpData();
                 _ui.m_txtName.text = string.Format("我的套装{0}", NumberUtil.GetChiniseNumberText(1));
 
             }

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs

@@ -188,11 +188,11 @@ namespace GFGGame
                 GGraph holder = (obj as GComponent).GetChild("holder").asGraph;
                 GGraph holder1 = (obj as GComponent).GetChild("holder1").asGraph;
                 SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(201013);//羲和
-                string resPath1 = ResPathUtil.GetDressUpAnimationPath(suitCfg.picRes);
+                string resPath1 = ResPathUtil.GetDressUpAnimationPath(suitCfg.aniRes);
                 SceneController.AddObjectToView(_gameObject4, _wrapper4, holder, resPath1, out _gameObject4, out _wrapper4);
 
                 SuitCfg suitCfg1 = SuitCfgArray.Instance.GetCfg(201006);//常曦
-                string resPath2 = ResPathUtil.GetDressUpAnimationPath(suitCfg1.picRes);
+                string resPath2 = ResPathUtil.GetDressUpAnimationPath(suitCfg1.aniRes);
                 SceneController.AddObjectToView(_gameObject5, _wrapper5, holder1, resPath2, out _gameObject5, out _wrapper5);
             }
         }

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

@@ -47,8 +47,8 @@ namespace GFGGame
             {
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
             }
-            EquipDataCache.cacher.setSceneObj(_sceneObject);
-            EquipDataCache.cacher.UpdateRoleView();
+            MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject);
+            MyDressUpHelper.dressUpObj.UpdateRoleView();
             StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
             StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID);
             if (!string.IsNullOrEmpty(fightCfg.music))

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

@@ -262,8 +262,8 @@ namespace GFGGame
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
             }
 
-            EquipDataCache.cacher.setSceneObj(_sceneObject);
-            EquipDataCache.cacher.UpdateRoleView();
+            MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject);
+            MyDressUpHelper.dressUpObj.UpdateRoleView();
             _levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId);
             StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(_levelCfg.fightID);
             SceneController.UpdateFightTarget(fightCfg.targetRes, _sceneObject);

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

@@ -48,8 +48,8 @@ namespace GFGGame
             {
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
             }
-            EquipDataCache.cacher.setSceneObj(_sceneObject, true);
-            EquipDataCache.cacher.UpdateRoleView();
+            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);

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