| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- using FairyGUI;
 
- using System;
 
- using UnityEngine;
 
- namespace GFGGame
 
- {
 
-     public class DressUpObjUI
 
-     {
 
-         public GameObject sceneObject;
 
-         public GoWrapper wrapper;
 
-         public DressUpObj dressUpObj;
 
-         string prefabName;
 
-         private Action onShowAction;
 
-         public DressUpObjUI(string prefabName = "SceneDressUp", Action onShowAction = null)
 
-         {
 
-             this.prefabName = prefabName;
 
-             this.onShowAction = onShowAction;
 
-             dressUpObj = new DressUpObj();
 
-             wrapper = new GoWrapper();
 
-         }
 
-         public void ResetSceneObj(int scale = 100, bool needSetMask = false, bool showSceneType = true, GameObject roleObj = null, bool showBg = true)
 
-         {
 
-             //这里每次都要实例化新的,复用会有bug
 
-             sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath(this.prefabName));
 
-             sceneObject.transform.localScale = new Vector3(scale, scale, scale);
 
-             dressUpObj.setSceneObj(sceneObject, needSetMask, showSceneType, roleObj, showBg, OnShow);
 
-         }
 
-         public void UpdateWrapper(GGraph holder)
 
-         {
 
-             holder.SetNativeObject(wrapper);
 
-             wrapper.wrapTarget = sceneObject;
 
-         }
 
-         
 
-         public void Dispose()
 
-         {
 
-             onShowAction = null;
 
-             if (sceneObject != null)
 
-             {
 
-                 PrefabManager.Instance.Restore(sceneObject);
 
-                 sceneObject = null;
 
-             }
 
-             if (dressUpObj != null)
 
-             {
 
-                 dressUpObj.Dispose();
 
-                 dressUpObj = null;
 
-             }
 
-             if (wrapper != null)
 
-             {
 
-                 if (wrapper.wrapTarget != null)
 
-                 {
 
-                     wrapper.wrapTarget = null;
 
-                 }
 
-                 wrapper.Dispose();
 
-                 wrapper = null;
 
-             }
 
-         }
 
-         private void OnShow()
 
-         {
 
-             onShowAction?.Invoke();
 
-             if (sceneObject == null)
 
-             {
 
-                 return;
 
-             }
 
-             if(wrapper != null)
 
-             {
 
-                 wrapper.wrapTarget = sceneObject;
 
-                 //wrapper.CacheRenderers();
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |