DressUpObjUI.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using FairyGUI;
  2. using UnityEngine;
  3. namespace GFGGame
  4. {
  5. public class DressUpObjUI
  6. {
  7. private GameObject _scenePrefab;
  8. public GameObject sceneObject;
  9. public GoWrapper wrapper;
  10. public DressUpObj dressUpObj;
  11. public DressUpObjUI(string prefabName = "SceneDressUp")
  12. {
  13. _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath(prefabName));
  14. dressUpObj = new DressUpObj();
  15. wrapper = new GoWrapper();
  16. }
  17. public void ResetSceneObj(int scale = 100, bool needSetMask = false, bool showSceneType = true, GameObject roleObj = null, bool showBg = true)
  18. {
  19. sceneObject = GameObject.Instantiate(_scenePrefab);
  20. sceneObject.transform.localScale = new Vector3(scale, scale, scale);
  21. dressUpObj.setSceneObj(sceneObject, needSetMask, showSceneType, roleObj, showBg);
  22. }
  23. public void UpdateWrapper(GGraph holder)
  24. {
  25. holder.SetNativeObject(wrapper);
  26. wrapper.wrapTarget = sceneObject;
  27. }
  28. public void Dispose()
  29. {
  30. //预制体不能被销毁
  31. _scenePrefab = null;
  32. if (sceneObject != null)
  33. {
  34. GameObject.Destroy(sceneObject);
  35. sceneObject = null;
  36. }
  37. if (dressUpObj != null)
  38. {
  39. dressUpObj.Dispose();
  40. dressUpObj = null;
  41. }
  42. if (wrapper != null)
  43. {
  44. wrapper.Dispose();
  45. wrapper = null;
  46. }
  47. }
  48. }
  49. }