DressUpObjUI.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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)
  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. if (_scenePrefab != null)
  31. {
  32. GameObject.Destroy(_scenePrefab);
  33. _scenePrefab = null;
  34. }
  35. if (sceneObject != null)
  36. {
  37. GameObject.Destroy(sceneObject);
  38. sceneObject = null;
  39. }
  40. if (dressUpObj != null)
  41. {
  42. dressUpObj.Dispose();
  43. dressUpObj = null;
  44. }
  45. if(wrapper != null)
  46. {
  47. wrapper.Dispose();
  48. wrapper = null;
  49. }
  50. }
  51. }
  52. }