DebuggerComponentInspector.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 loyalsoft. All rights reserved.
  4. // Homepage: http://www.game7000.com/
  5. // Feedback: http://www.game7000.com/
  6. //------------------------------------------------------------
  7. using UnityEditor;
  8. using UnityEngine;
  9. using UnityGameFramework.Runtime;
  10. namespace UnityGameFramework.Editor
  11. {
  12. [CustomEditor(typeof(DebuggerComponent))]
  13. internal sealed class DebuggerComponentInspector : GameFrameworkInspector
  14. {
  15. private SerializedProperty m_Skin = null;
  16. private SerializedProperty m_ActiveWindow = null;
  17. private SerializedProperty m_ShowFullWindow = null;
  18. private SerializedProperty m_ConsoleWindow = null;
  19. public override void OnInspectorGUI()
  20. {
  21. base.OnInspectorGUI();
  22. serializedObject.Update();
  23. DebuggerComponent t = (DebuggerComponent)target;
  24. EditorGUILayout.PropertyField(m_Skin);
  25. if (EditorApplication.isPlaying && IsPrefabInHierarchy(t.gameObject))
  26. {
  27. bool activeWindow = EditorGUILayout.Toggle("Active Window", t.ActiveWindow);
  28. if (activeWindow != t.ActiveWindow)
  29. {
  30. t.ActiveWindow = activeWindow;
  31. }
  32. }
  33. else
  34. {
  35. EditorGUILayout.PropertyField(m_ActiveWindow);
  36. }
  37. EditorGUILayout.PropertyField(m_ShowFullWindow);
  38. if (EditorApplication.isPlaying)
  39. {
  40. if (GUILayout.Button("Reset Layout"))
  41. {
  42. t.ResetLayout();
  43. }
  44. }
  45. EditorGUILayout.PropertyField(m_ConsoleWindow, true);
  46. serializedObject.ApplyModifiedProperties();
  47. }
  48. private void OnEnable()
  49. {
  50. m_Skin = serializedObject.FindProperty("m_Skin");
  51. m_ActiveWindow = serializedObject.FindProperty("m_ActiveWindow");
  52. m_ShowFullWindow = serializedObject.FindProperty("m_ShowFullWindow");
  53. m_ConsoleWindow = serializedObject.FindProperty("m_ConsoleWindow");
  54. }
  55. }
  56. }