EditorPanel.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using XRTool.Util;
  6. public class EditorPanel : MonoBehaviour
  7. {
  8. /// <summary>
  9. /// 景点
  10. /// </summary>
  11. public UISpoitsPanel m_SpoitsPanel;
  12. /// <summary>
  13. /// 素材面板
  14. /// </summary>
  15. public UIMaterialsPanel m_MaterialsPanel;
  16. /// <summary>
  17. /// 添加素材面板
  18. /// </summary>
  19. public UIAddMaterialPanel m_AddMaterialPanel;
  20. /// <summary>
  21. /// 素材编辑面板
  22. /// </summary>
  23. public UIEditorPanel m_EditorPanel;
  24. // private UIAnchorsPanel m_AnchorsPanel;
  25. /// <summary>
  26. /// 当前触发的景点名称
  27. /// </summary>
  28. private string m_SpoitName;
  29. private void Awake()
  30. {
  31. // m_SpoitsPanel = transform.Find("UISpoits").gameObject.AddComponent<UISpoitsPanel>();
  32. // m_MaterialsPanel = transform.Find("UIMaterials").gameObject.AddComponent<UIMaterialsPanel>();
  33. m_MaterialsPanel.EditorPanel = this;
  34. // m_AnchorsPanel = transform.Find("UIAnchor").gameObject.GetComponent<UIAnchorsPanel>();
  35. // m_AddMaterialPanel = transform.Find("UIAddMaterial").gameObject.AddComponent<UIAddMaterialPanel>();
  36. m_AddMaterialPanel.EditorPanel = this;
  37. m_AddMaterialPanel.OnClickAddMatBtn += OnClickAddMatBtn;
  38. // m_EditorPanel = transform.Find("UIEditor").gameObject.GetComponent<UIEditorPanel>();
  39. m_EditorPanel.OnClickRemoveBtn += onClickRemoveBtn;
  40. }
  41. private void OnClickAddMatBtn()
  42. {
  43. m_MaterialsPanel.SaveSpoits();
  44. }
  45. private void onClickRemoveBtn(GameObject obj)
  46. {
  47. m_MaterialsPanel.RemoveMat(obj);
  48. }
  49. public void Init()
  50. {
  51. m_AddMaterialPanel.Init();
  52. }
  53. public void SetSpoit(SpoitValue spoit)
  54. {
  55. if (spoit != null)
  56. {
  57. m_SpoitName = spoit.name;
  58. m_SpoitsPanel.SetSpoit(m_SpoitName, true);
  59. }
  60. else
  61. {
  62. m_SpoitName = null;
  63. m_SpoitsPanel.SetSpoit("", false);
  64. }
  65. m_MaterialsPanel.SetMaterial(spoit);
  66. }
  67. public void ClosePanel()
  68. {
  69. m_SpoitName = null;
  70. m_SpoitsPanel.SetSpoit("", false);
  71. m_MaterialsPanel.ClosePanel();
  72. }
  73. //public void SetSpoit(List<ObjectValue> spoitObjs)
  74. //{
  75. // if (spoitObjs != null)
  76. // {
  77. // m_SpoitName = spoitObjs[0].Object.name;
  78. // m_SpoitsPanel.SetSpoit(m_SpoitName, true);
  79. // }
  80. // else
  81. // {
  82. // m_SpoitName = null;
  83. // m_SpoitsPanel.SetSpoit(m_SpoitName, false);
  84. // }
  85. // m_MaterialsPanel.SetMaterial(spoitObjs);
  86. //}
  87. public void InitObjTransForm()
  88. {
  89. m_MaterialsPanel.InitObjTransForm();
  90. }
  91. public void SaveObjTransForm()
  92. {
  93. m_MaterialsPanel.SaveMatObj();
  94. }
  95. public void ChangeShowUI(bool isShowEditor)
  96. {
  97. m_EditorPanel.gameObject.SetActive(isShowEditor);
  98. m_AddMaterialPanel.gameObject.SetActive(!isShowEditor);
  99. }
  100. private void OnDestroy()
  101. {
  102. m_EditorPanel.OnClickRemoveBtn -= onClickRemoveBtn;
  103. }
  104. private void OnEnable()
  105. {
  106. TimerMgr.Instance.CreateTimer(()=> {
  107. m_SpoitsPanel.gameObject.SetActive(false);
  108. m_MaterialsPanel.gameObject.SetActive(false);
  109. m_EditorPanel.gameObject.SetActive(false);
  110. m_AddMaterialPanel.gameObject.SetActive(false);
  111. },0.1f);
  112. }
  113. }