Browse Source

换装复用

guodong 1 year ago
parent
commit
f57925da61

+ 7 - 1
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjUI.cs

@@ -21,7 +21,8 @@ namespace GFGGame
 
         public void ResetSceneObj(int scale = 100, bool needSetMask = false, bool showSceneType = true, GameObject roleObj = null, bool showBg = true)
         {
-            sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath(this.prefabName));
+            if(sceneObject == null)
+                sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath(this.prefabName));
             sceneObject.transform.localScale = new Vector3(scale, scale, scale);
             dressUpObj.setSceneObj(sceneObject, needSetMask, showSceneType, roleObj, showBg);
             Timers.inst.AddUpdate(OnUpdate);
@@ -33,6 +34,11 @@ namespace GFGGame
             wrapper.wrapTarget = sceneObject;
         }
 
+        public void SetScale(Vector2 vector2)
+        {
+            wrapper.scale = vector2;
+        }
+
         public void Dispose()
         {
             if (sceneObject != null)

+ 15 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpUtil.cs

@@ -504,7 +504,22 @@ namespace GFGGame
                     }
                 }
             }
+
+            SetGoLayers(gameObj, 0);
         }
+
+
+        private static void SetGoLayers(GameObject gameObject, int layer)
+        {
+            if (gameObject == null || gameObject.layer == layer)
+                return;
+
+            var helperTransformList = gameObject.GetComponentsInChildren<Transform>(true);
+            int cnt = helperTransformList.Length;
+            for (int i = 0; i < cnt; i++)
+                helperTransformList[i].gameObject.layer = layer;
+        }
+
     }
 
 }