BaseCreatePanel.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using UnityEngine;
  3. public abstract class BaseCreatePanel : BasePanelMgr
  4. {
  5. protected GameObject GetPanel(string panelName)
  6. {
  7. return this.GetPanel(panelName, this.m_uiRootPath);
  8. }
  9. protected GameObject GetPanel(string panelName, string rootPath)
  10. {
  11. this.m_goUIRoot = this.GetUIRoot(rootPath);
  12. NDebug.Assert(this.m_goUIRoot != null, string.Format("{0}が見つかりませんでした。", "UI Root"));
  13. this.m_goPanel = this.m_goUIRoot.transform.Find(panelName).gameObject;
  14. NDebug.Assert(this.m_goPanel != null, string.Format("{0}が見つかりませんでした。", panelName));
  15. return this.m_goPanel;
  16. }
  17. private GameObject GetUIRoot(string uiRootPath)
  18. {
  19. return (!(this.m_goUIRoot == null)) ? this.m_goUIRoot : GameObject.Find(uiRootPath);
  20. }
  21. protected Type GetCtrl<Type>() where Type : Component
  22. {
  23. Type component = this.m_goPanel.GetComponent<Type>();
  24. NDebug.Assert(component != null, string.Format("{0}が見つかりませんでした。", typeof(Type) + "コンポーネント"));
  25. return component;
  26. }
  27. public bool IsValidateButton<T>(string clickButtonName)
  28. {
  29. if (!Enum.IsDefined(typeof(T), clickButtonName))
  30. {
  31. Debug.LogError(string.Format("不適切なボタンがクリックされました。クリックされたボタン名={0}", clickButtonName));
  32. return false;
  33. }
  34. return true;
  35. }
  36. public bool IsValidatePopupValue<T>(string value)
  37. {
  38. if (!Enum.IsDefined(typeof(T), value))
  39. {
  40. Debug.LogError(string.Format("ポップアップリストから不適切な値が選択されました。選択されたボタン名={0}", value));
  41. return false;
  42. }
  43. return true;
  44. }
  45. protected GameObject m_goPanel;
  46. protected string m_uiRootPath = "/UI Root";
  47. private GameObject m_goUIRoot;
  48. }