guodong 2 年 前
コミット
d01e7d4907

+ 18 - 11
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs

@@ -6,6 +6,13 @@ using ET;
 
 namespace GFGGame
 {
+    public enum DressUpOption
+    {
+        Auto,
+        Add,
+        Remove
+    }
+
     public class DressUpObj
     {
         private GameObject _sceneObj;
@@ -152,7 +159,7 @@ namespace GFGGame
             return true;
         }
 
-        public void AddOrRemove(int itemId, bool checkDefault, bool isAdd = false, bool isRemove = false)
+        public void AddOrRemove(int itemId, bool checkDefault, DressUpOption dressUpOption = DressUpOption.Auto)
         {
             int subType = ItemUtilCS.GetItemSubType(itemId);
             if (subType == ConstDressUpItemType.BEI_JING)
@@ -168,7 +175,7 @@ namespace GFGGame
             {
                 if (!CheckDressUpItemIsOn(itemId))
                 {
-                    if (!isRemove)
+                    if (dressUpOption != DressUpOption.Remove)
                     {
                         if (checkDefault)
                         {
@@ -180,7 +187,7 @@ namespace GFGGame
                 }
                 else
                 {
-                    if (!isAdd)
+                    if (dressUpOption != DressUpOption.Add)
                     {
                         Remove(itemId);
                     }
@@ -232,7 +239,7 @@ namespace GFGGame
             _dressUpData.actionId = 0;
             foreach (int itemID in itemList)
             {
-                AddOrRemove(itemID, false, false, true);
+                AddOrRemove(itemID, false, DressUpOption.Remove);
             }
             if (checkDefault)
             {
@@ -318,7 +325,7 @@ namespace GFGGame
                     {
                         if (excludeType == null || Array.IndexOf(excludeType, subType) < 0)
                         {
-                            AddOrRemove(itemId, false, true);
+                            AddOrRemove(itemId, false, DressUpOption.Add);
                         }
                     }
                 }
@@ -338,12 +345,12 @@ namespace GFGGame
                     if(!DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId))
                     {
                         //场景类型不受动作影响并且本来就有动画,对非场景类型处理
-                        AddOrRemove(itemId, false, false, true);
+                        AddOrRemove(itemId, false, DressUpOption.Remove);
                         bool notInAction = SuitCfgArray.Instance.CheckItemNotInAction(itemId);
                         if (notInAction)
                         {
                             //更新成动画模式
-                            AddOrRemove(itemId, false, true);
+                            AddOrRemove(itemId, false, DressUpOption.Add);
                         }
                     }
                 }
@@ -379,7 +386,7 @@ namespace GFGGame
                         bool notInAction = SuitCfgArray.Instance.CheckItemNotInAction(itemId);
                         if (!notInAction)
                         {
-                            AddOrRemove(itemId, false, true);
+                            AddOrRemove(itemId, false, DressUpOption.Add);
                         }
                     }
                 }
@@ -394,7 +401,7 @@ namespace GFGGame
                     if (notInAction)
                     {
                         //更新成图片模式
-                        AddOrRemove(itemId, false, true);
+                        AddOrRemove(itemId, false, DressUpOption.Add);
                     }
                 }
             }
@@ -413,7 +420,7 @@ namespace GFGGame
             }
             foreach (int itemID in dressUpData.itemList)
             {
-                AddOrRemove(itemID, false, true);
+                AddOrRemove(itemID, false, DressUpOption.Add);
             }
             checkDefaultItem();
 
@@ -431,7 +438,7 @@ namespace GFGGame
             TakeOffAll(false);
             foreach (int itemID in itemList)
             {
-                AddOrRemove(itemID, false, true);
+                AddOrRemove(itemID, false, DressUpOption.Add);
             }
             checkDefaultItem();
         }

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

@@ -231,7 +231,7 @@ namespace GFGGame
         private void UpdateRole(bool tween)
         {
             _dressUpObjUI.ResetSceneObj(70, false, true, null, false);
-            _dressUpObjUI.dressUpObj.AddOrRemove(_cfgSelected.itemId, true, true);
+            _dressUpObjUI.dressUpObj.AddOrRemove(_cfgSelected.itemId, true, DressUpOption.Add);
             _dressUpObjUI.UpdateWrapper(_ui.m_compHolder.m_compMover.m_holder);
             int type = ItemUtilCS.GetItemSubType(_cfgSelected.itemId);
             float duration = DURATION;