DebuggerComponentInspector.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //------------------------------------------------------------
  2. // Game Framework v3.x
  3. // Copyright © 2013-2017 Jiang Yin. All rights reserved.
  4. // Homepage: http://gameframework.cn/
  5. // Feedback: mailto:jiangyin@gameframework.cn
  6. //------------------------------------------------------------
  7. using UnityEditor;
  8. using UnityGameFramework.Runtime;
  9. namespace UnityGameFramework.Editor
  10. {
  11. [CustomEditor(typeof(DebuggerComponent))]
  12. internal sealed class DebuggerComponentInspector : UnityEditor.Editor
  13. {
  14. private SerializedProperty m_Skin = null;
  15. private SerializedProperty m_ActiveWindow = null;
  16. private SerializedProperty m_ShowFullWindow = null;
  17. private SerializedProperty m_ConsoleWindow = null;
  18. public override void OnInspectorGUI()
  19. {
  20. serializedObject.Update();
  21. DebuggerComponent t = (DebuggerComponent)target;
  22. EditorGUILayout.PropertyField(m_Skin);
  23. if (EditorApplication.isPlaying && PrefabUtility.GetPrefabType(t.gameObject) != PrefabType.Prefab)
  24. {
  25. bool activeWindow = EditorGUILayout.Toggle("Active Window", t.ActiveWindow);
  26. if (activeWindow != t.ActiveWindow)
  27. {
  28. t.ActiveWindow = activeWindow;
  29. }
  30. }
  31. else
  32. {
  33. EditorGUILayout.PropertyField(m_ActiveWindow);
  34. }
  35. EditorGUILayout.PropertyField(m_ShowFullWindow);
  36. EditorGUILayout.PropertyField(m_ConsoleWindow, true);
  37. serializedObject.ApplyModifiedProperties();
  38. }
  39. private void OnEnable()
  40. {
  41. m_Skin = serializedObject.FindProperty("m_Skin");
  42. m_ActiveWindow = serializedObject.FindProperty("m_ActiveWindow");
  43. m_ShowFullWindow = serializedObject.FindProperty("m_ShowFullWindow");
  44. m_ConsoleWindow = serializedObject.FindProperty("m_ConsoleWindow");
  45. }
  46. }
  47. }