Browse Source

进入换装界面并穿戴套装后,图鉴和套装升级展示资源显示错误

zhaoyang 3 years ago
parent
commit
ffa7f1e8a5

+ 2 - 2
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjDataCache.cs

@@ -134,8 +134,8 @@ namespace GFGGame
                 DressUpUtil.AddItem(value, _sceneObj, _needSetMask);
                 score += DressUpMenuItemDataManager.GetItemScore(value);
             }
-            int dressSuitId = DressUpMenuSuitDataManager.CheckCurDressIsSuit();
-            if (dressSuitId > 0) _suitId = dressSuitId;
+            //  int dressSuitId = DressUpMenuSuitDataManager.CheckCurDressIsSuit();
+            // if (dressSuitId > 0) _suitId = dressSuitId;
         }
 
         private void Remove(int value)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/ClothingFoster/SuitView.cs

@@ -43,7 +43,7 @@ namespace GFGGame
             isfullScreen = true;
             // this.clickBlankToClose = false;
 
-            _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneDressUp"));
+            _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneSuitFoster"));
             _dressUpObjDataCache = new DressUpObjDataCache();
 
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);

+ 12 - 8
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpFightView.cs

@@ -224,7 +224,7 @@ namespace GFGGame
             }
             else
             {
-                if (!CheckListCount(item1.type))
+                if (_ui.m_partsList.m_list.numItems <= 0)
                 {
                     PromptController.Instance.ShowFloatTextPrompt("未获得此类部件");
                     return;
@@ -243,7 +243,7 @@ namespace GFGGame
             GObject typeItem = context.data as GObject;
             int order = (int)typeItem.data;
             DressUpMenuItemCfg2 item2 = DressUpMenuItemCfg2Array.Instance.dataArray[order - 1];
-            if (!CheckListCount(item2.type))
+            if (_ui.m_partsList.m_list.numItems <= 0)
             {
                 PromptController.Instance.ShowFloatTextPrompt("未获得此类部件");
                 return;
@@ -334,7 +334,7 @@ namespace GFGGame
                     .SetRightButton(true, "好的");
                 return;
             }
-            int _suitId = EquipDataCache.cacher.suitId;
+            int _suitId = DressUpMenuSuitDataManager.CheckCurDressIsSuit(); ;
             if (_fightCfg.needItemId > 0 && (_suitId <= 0 && EquipDataCache.cacher.equipDatas.IndexOf(_fightCfg.needItemId) < 0 || _suitId > 0 && Array.IndexOf(SuitCfgArray.Instance.GetCfg(_suitId).partsArr, _fightCfg.needItemId) < 0) || _fightCfg.needSuitId > 0 && _suitId != _fightCfg.needSuitId)
             {
                 Alert.Show("未穿戴必须品~").SetRightButton(true, "好的");
@@ -694,19 +694,21 @@ namespace GFGGame
         private void UpdateListPartsSelected()
         {
             int count = _ui.m_partsList.m_list.numChildren;
+            int suitId = DressUpMenuSuitDataManager.CheckCurDressIsSuit();
+
             for (int i = 0; i < count; i++)
             {
                 UI_PartsListItem listItem = UI_PartsListItem.Proxy(_ui.m_partsList.m_list.GetChildAt(i));
                 int id = (int)listItem.target.data;
                 if (_currentMenuType == (int)ConstDressUpItemType.TAO_ZHUANG)
                 {
-                    listItem.m_iconSelected.visible = EquipDataCache.cacher.suitId > 0 && id == EquipDataCache.cacher.suitId;
+                    listItem.m_iconSelected.visible = suitId > 0 && id == suitId;
                 }
                 else
                 {
                     bool isPutOn = EquipDataCache.cacher.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
-                    bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == EquipDataCache.cacher.suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
-                    bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                    bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                    bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
                     listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
                 }
             }
@@ -714,14 +716,16 @@ namespace GFGGame
         private void UpdateListSuitPartsSelected()
         {
             int count = _ui.m_partsList2.m_list.numChildren;
+            int suitId = DressUpMenuSuitDataManager.CheckCurDressIsSuit();
+
             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) && EquipDataCache.cacher.suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == EquipDataCache.cacher.suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
-                bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
                 listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
 
             }

+ 13 - 7
GameClient/Assets/Game/HotUpdate/Views/DressUp/DressUpView.cs

@@ -156,7 +156,7 @@ namespace GFGGame
             }
             else
             {
-                if (!CheckListCount(item1.type))
+                if (_ui.m_partsList.m_list.numItems <= 0)
                 {
                     PromptController.Instance.ShowFloatTextPrompt("未获得此类部件");
                     return;
@@ -173,7 +173,7 @@ namespace GFGGame
             GObject typeItem = (GObject)context.data as GObject;
             int order = (int)typeItem.data;
             DressUpMenuItemCfg2 item2 = DressUpMenuItemCfg2Array.Instance.dataArray[order - 1];
-            if (!CheckListCount(item2.type))
+            if (_ui.m_partsList.m_list.numItems <= 0)
             {
                 PromptController.Instance.ShowFloatTextPrompt("未获得此类部件");
                 return;
@@ -538,19 +538,23 @@ namespace GFGGame
         private void UpdateListPartsSelected()
         {
             int count = _ui.m_partsList.m_list.numChildren;
+            int suitId = DressUpMenuSuitDataManager.CheckCurDressIsSuit();
+
             for (int i = 0; i < count; i++)
             {
                 UI_PartsListItem listItem = UI_PartsListItem.Proxy(_ui.m_partsList.m_list.GetChildAt(i));
                 int id = (int)listItem.target.data;
                 if (_currentMenuType == ConstDressUpItemType.TAO_ZHUANG)
                 {
-                    listItem.m_iconSelected.visible = EquipDataCache.cacher.suitId > 0 && id == EquipDataCache.cacher.suitId;
+                    listItem.m_iconSelected.visible = suitId > 0 && id == suitId;
                 }
                 else
                 {
                     bool isPutOn = EquipDataCache.cacher.CheckDressUpItemIsOn(id);//非套装金判断是否穿戴
-                    bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == EquipDataCache.cacher.suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
-                    bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                    bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+
+                    isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && suitId == id;
+                    bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
                     listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
                 }
             }
@@ -558,14 +562,16 @@ namespace GFGGame
         private void UpdateListSuitPartsSelected()
         {
             int count = _ui.m_partsList2.m_list.numChildren;
+            int suitId = DressUpMenuSuitDataManager.CheckCurDressIsSuit();
             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) && EquipDataCache.cacher.suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == EquipDataCache.cacher.suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
-                bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && EquipDataCache.cacher.suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
+                bool isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == suitId;//非场景类, 若当前穿戴套装要判断item是否属于套装(更换场景类不会改变套装穿戴状态)
+                isSuit = !DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && SuitCfgManager.Instance.GetItemSuitId(id) == id;
+                bool isSceneSuit = DressUpMenuItemDataManager.CheckIsSceneType(id) && suitId > 0 && isPutOn;//场景类, 若当前穿戴套装要判断item是否属已穿戴
                 listItem.m_iconSelected.visible = isPutOn || isSuit || isSceneSuit;
 
             }