summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Editor/TransformInspectorOverride.cs
diff options
context:
space:
mode:
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Editor/TransformInspectorOverride.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/Editor/TransformInspectorOverride.cs68
1 files changed, 68 insertions, 0 deletions
diff --git a/AlienSurvival/Assets/Scripts/Editor/TransformInspectorOverride.cs b/AlienSurvival/Assets/Scripts/Editor/TransformInspectorOverride.cs
new file mode 100644
index 0000000..76cb48c
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Editor/TransformInspectorOverride.cs
@@ -0,0 +1,68 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+[CanEditMultipleObjects, CustomEditor(typeof(Transform), true)]
+public class TransformInspectorOverride : InspectorExt
+{
+ protected override string defaultEditorName => "UnityEditor.TransformInspector, UnityEditor";
+
+ Tool LastTool = Tool.None;
+
+ public override void OnEnable()
+ {
+ base.OnEnable();
+
+ if(HasTopDownTransform())
+ HideDefaultTools();
+ }
+
+ public override void OnDisable()
+ {
+ base.OnDisable();
+
+ if(LastTool != Tool.None)
+ RestoreTools();
+ }
+
+ void HideDefaultTools()
+ {
+ if(Tools.current != Tool.None)
+ LastTool = Tools.current;
+ Tools.current = Tool.None;
+ }
+
+ void RestoreTools()
+ {
+ Tools.current = LastTool;
+ }
+
+ public override void OnInspectorGUI()
+ {
+ if (HasTopDownTransform())
+ {
+ EditorGUILayout.HelpBox("Override by TopDownTransform", MessageType.Warning);
+ GUI.enabled = false;
+ HideDefaultTools();
+ }
+
+ base.OnInspectorGUI();
+
+ if (HasTopDownTransform())
+ GUI.enabled = true;
+ }
+
+ bool HasTopDownTransform()
+ {
+ Transform transform = target as Transform;
+ TopDownTransform topdown = transform.GetComponent<TopDownTransform>();
+ return topdown != null;
+ }
+
+ public override void OnSceneGUI()
+ {
+ base.OnSceneGUI();
+ }
+
+}