diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs.meta b/Assets/Editor/IsoButton.cs.meta deleted file mode 100755 index 1e8c556..0000000 --- a/Assets/Editor/IsoButton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 19d6d56d0a320b2439adbe8738de84a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs.meta b/Assets/Editor/IsoButton.cs.meta deleted file mode 100755 index 1e8c556..0000000 --- a/Assets/Editor/IsoButton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 19d6d56d0a320b2439adbe8738de84a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Editor/IsoMenu.cs b/Assets/Editor/IsoMenu.cs new file mode 100755 index 0000000..9ced6b5 --- /dev/null +++ b/Assets/Editor/IsoMenu.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public static class IsoMenu +{ + + private static IsoEditor isoEditor = null; + + [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] + public static void EnableButtons() + { + isoEditor = null; + IsoEditor[] editors = Resources.FindObjectsOfTypeAll(); + if (editors.Length > 0) isoEditor = editors[0]; + + if (isoEditor != null) + { + isoEditor.EnableButtons(); + } + } + + [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] + public static void DisableButtons() + { + if (isoEditor != null) + { + isoEditor.DisableButtons(); + } + } +} diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs.meta b/Assets/Editor/IsoButton.cs.meta deleted file mode 100755 index 1e8c556..0000000 --- a/Assets/Editor/IsoButton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 19d6d56d0a320b2439adbe8738de84a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Editor/IsoMenu.cs b/Assets/Editor/IsoMenu.cs new file mode 100755 index 0000000..9ced6b5 --- /dev/null +++ b/Assets/Editor/IsoMenu.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public static class IsoMenu +{ + + private static IsoEditor isoEditor = null; + + [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] + public static void EnableButtons() + { + isoEditor = null; + IsoEditor[] editors = Resources.FindObjectsOfTypeAll(); + if (editors.Length > 0) isoEditor = editors[0]; + + if (isoEditor != null) + { + isoEditor.EnableButtons(); + } + } + + [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] + public static void DisableButtons() + { + if (isoEditor != null) + { + isoEditor.DisableButtons(); + } + } +} diff --git a/Assets/Editor/IsoMenu.cs.meta b/Assets/Editor/IsoMenu.cs.meta new file mode 100755 index 0000000..bfb8b7b --- /dev/null +++ b/Assets/Editor/IsoMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57bbd77c2e2ceec4d86b4a6bae0be219 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs.meta b/Assets/Editor/IsoButton.cs.meta deleted file mode 100755 index 1e8c556..0000000 --- a/Assets/Editor/IsoButton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 19d6d56d0a320b2439adbe8738de84a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Editor/IsoMenu.cs b/Assets/Editor/IsoMenu.cs new file mode 100755 index 0000000..9ced6b5 --- /dev/null +++ b/Assets/Editor/IsoMenu.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public static class IsoMenu +{ + + private static IsoEditor isoEditor = null; + + [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] + public static void EnableButtons() + { + isoEditor = null; + IsoEditor[] editors = Resources.FindObjectsOfTypeAll(); + if (editors.Length > 0) isoEditor = editors[0]; + + if (isoEditor != null) + { + isoEditor.EnableButtons(); + } + } + + [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] + public static void DisableButtons() + { + if (isoEditor != null) + { + isoEditor.DisableButtons(); + } + } +} diff --git a/Assets/Editor/IsoMenu.cs.meta b/Assets/Editor/IsoMenu.cs.meta new file mode 100755 index 0000000..bfb8b7b --- /dev/null +++ b/Assets/Editor/IsoMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57bbd77c2e2ceec4d86b4a6bae0be219 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoEditor.cs b/Assets/IsoEditor.cs new file mode 100755 index 0000000..2249271 --- /dev/null +++ b/Assets/IsoEditor.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +[ExecuteInEditMode] +public class IsoEditor : MonoBehaviour { + + + public Camera IsoCamera; + + private bool hasEvents = false; + + private void OnEnable() + { + EnableButtons(); + } + + // Update is called once per frame + void Update () + { + } + + private bool isoMode = false; + private Vector3 lastCameraP; + private Quaternion lastCameraQ; + private bool lastOrtho; + + public void EnableButtons() + { + if (!hasEvents) + { + hasEvents = true; + SceneView.onSceneGUIDelegate += OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void DisableButtons() + { + if (hasEvents) + { + hasEvents = false; + SceneView.onSceneGUIDelegate -= OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void OnSceneGUI(SceneView sceneView) + { + Handles.BeginGUI(); + + if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) + { + isoMode = !isoMode; + + if (isoMode) + { + lastCameraP = sceneView.pivot; + lastCameraQ = sceneView.rotation; + lastOrtho = sceneView.orthographic; + + sceneView.AlignViewToObject(IsoCamera.transform); + sceneView.orthographic = true; + + } + else + { + sceneView.pivot = lastCameraP; + sceneView.rotation = lastCameraQ; + sceneView.orthographic = lastOrtho; + } + } + Handles.EndGUI(); + } + + +} diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs.meta b/Assets/Editor/IsoButton.cs.meta deleted file mode 100755 index 1e8c556..0000000 --- a/Assets/Editor/IsoButton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 19d6d56d0a320b2439adbe8738de84a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Editor/IsoMenu.cs b/Assets/Editor/IsoMenu.cs new file mode 100755 index 0000000..9ced6b5 --- /dev/null +++ b/Assets/Editor/IsoMenu.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public static class IsoMenu +{ + + private static IsoEditor isoEditor = null; + + [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] + public static void EnableButtons() + { + isoEditor = null; + IsoEditor[] editors = Resources.FindObjectsOfTypeAll(); + if (editors.Length > 0) isoEditor = editors[0]; + + if (isoEditor != null) + { + isoEditor.EnableButtons(); + } + } + + [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] + public static void DisableButtons() + { + if (isoEditor != null) + { + isoEditor.DisableButtons(); + } + } +} diff --git a/Assets/Editor/IsoMenu.cs.meta b/Assets/Editor/IsoMenu.cs.meta new file mode 100755 index 0000000..bfb8b7b --- /dev/null +++ b/Assets/Editor/IsoMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57bbd77c2e2ceec4d86b4a6bae0be219 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoEditor.cs b/Assets/IsoEditor.cs new file mode 100755 index 0000000..2249271 --- /dev/null +++ b/Assets/IsoEditor.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +[ExecuteInEditMode] +public class IsoEditor : MonoBehaviour { + + + public Camera IsoCamera; + + private bool hasEvents = false; + + private void OnEnable() + { + EnableButtons(); + } + + // Update is called once per frame + void Update () + { + } + + private bool isoMode = false; + private Vector3 lastCameraP; + private Quaternion lastCameraQ; + private bool lastOrtho; + + public void EnableButtons() + { + if (!hasEvents) + { + hasEvents = true; + SceneView.onSceneGUIDelegate += OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void DisableButtons() + { + if (hasEvents) + { + hasEvents = false; + SceneView.onSceneGUIDelegate -= OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void OnSceneGUI(SceneView sceneView) + { + Handles.BeginGUI(); + + if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) + { + isoMode = !isoMode; + + if (isoMode) + { + lastCameraP = sceneView.pivot; + lastCameraQ = sceneView.rotation; + lastOrtho = sceneView.orthographic; + + sceneView.AlignViewToObject(IsoCamera.transform); + sceneView.orthographic = true; + + } + else + { + sceneView.pivot = lastCameraP; + sceneView.rotation = lastCameraQ; + sceneView.orthographic = lastOrtho; + } + } + Handles.EndGUI(); + } + + +} diff --git a/Assets/IsoEditor.cs.meta b/Assets/IsoEditor.cs.meta new file mode 100755 index 0000000..1881d70 --- /dev/null +++ b/Assets/IsoEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b78fba809e013444851b9c5e8b697ec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs.meta b/Assets/Editor/IsoButton.cs.meta deleted file mode 100755 index 1e8c556..0000000 --- a/Assets/Editor/IsoButton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 19d6d56d0a320b2439adbe8738de84a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Editor/IsoMenu.cs b/Assets/Editor/IsoMenu.cs new file mode 100755 index 0000000..9ced6b5 --- /dev/null +++ b/Assets/Editor/IsoMenu.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public static class IsoMenu +{ + + private static IsoEditor isoEditor = null; + + [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] + public static void EnableButtons() + { + isoEditor = null; + IsoEditor[] editors = Resources.FindObjectsOfTypeAll(); + if (editors.Length > 0) isoEditor = editors[0]; + + if (isoEditor != null) + { + isoEditor.EnableButtons(); + } + } + + [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] + public static void DisableButtons() + { + if (isoEditor != null) + { + isoEditor.DisableButtons(); + } + } +} diff --git a/Assets/Editor/IsoMenu.cs.meta b/Assets/Editor/IsoMenu.cs.meta new file mode 100755 index 0000000..bfb8b7b --- /dev/null +++ b/Assets/Editor/IsoMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57bbd77c2e2ceec4d86b4a6bae0be219 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoEditor.cs b/Assets/IsoEditor.cs new file mode 100755 index 0000000..2249271 --- /dev/null +++ b/Assets/IsoEditor.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +[ExecuteInEditMode] +public class IsoEditor : MonoBehaviour { + + + public Camera IsoCamera; + + private bool hasEvents = false; + + private void OnEnable() + { + EnableButtons(); + } + + // Update is called once per frame + void Update () + { + } + + private bool isoMode = false; + private Vector3 lastCameraP; + private Quaternion lastCameraQ; + private bool lastOrtho; + + public void EnableButtons() + { + if (!hasEvents) + { + hasEvents = true; + SceneView.onSceneGUIDelegate += OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void DisableButtons() + { + if (hasEvents) + { + hasEvents = false; + SceneView.onSceneGUIDelegate -= OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void OnSceneGUI(SceneView sceneView) + { + Handles.BeginGUI(); + + if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) + { + isoMode = !isoMode; + + if (isoMode) + { + lastCameraP = sceneView.pivot; + lastCameraQ = sceneView.rotation; + lastOrtho = sceneView.orthographic; + + sceneView.AlignViewToObject(IsoCamera.transform); + sceneView.orthographic = true; + + } + else + { + sceneView.pivot = lastCameraP; + sceneView.rotation = lastCameraQ; + sceneView.orthographic = lastOrtho; + } + } + Handles.EndGUI(); + } + + +} diff --git a/Assets/IsoEditor.cs.meta b/Assets/IsoEditor.cs.meta new file mode 100755 index 0000000..1881d70 --- /dev/null +++ b/Assets/IsoEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b78fba809e013444851b9c5e8b697ec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoObject.cs b/Assets/IsoObject.cs new file mode 100755 index 0000000..0f593ce --- /dev/null +++ b/Assets/IsoObject.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class IsoObject : MonoBehaviour { + public Camera IsoCamera; + + private Material isoMaterial; + // Use this for initialization + void Start () { + + } + + // Update is called once per frame + void Update () { + + } + + void LateUpdate() + { + Vector3 viewPos = IsoCamera.WorldToViewportPoint(gameObject.transform.position); + isoMaterial.SetVector("_CenterPoint", new Vector4(viewPos.x, viewPos.y)); + } +} diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs.meta b/Assets/Editor/IsoButton.cs.meta deleted file mode 100755 index 1e8c556..0000000 --- a/Assets/Editor/IsoButton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 19d6d56d0a320b2439adbe8738de84a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Editor/IsoMenu.cs b/Assets/Editor/IsoMenu.cs new file mode 100755 index 0000000..9ced6b5 --- /dev/null +++ b/Assets/Editor/IsoMenu.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public static class IsoMenu +{ + + private static IsoEditor isoEditor = null; + + [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] + public static void EnableButtons() + { + isoEditor = null; + IsoEditor[] editors = Resources.FindObjectsOfTypeAll(); + if (editors.Length > 0) isoEditor = editors[0]; + + if (isoEditor != null) + { + isoEditor.EnableButtons(); + } + } + + [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] + public static void DisableButtons() + { + if (isoEditor != null) + { + isoEditor.DisableButtons(); + } + } +} diff --git a/Assets/Editor/IsoMenu.cs.meta b/Assets/Editor/IsoMenu.cs.meta new file mode 100755 index 0000000..bfb8b7b --- /dev/null +++ b/Assets/Editor/IsoMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57bbd77c2e2ceec4d86b4a6bae0be219 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoEditor.cs b/Assets/IsoEditor.cs new file mode 100755 index 0000000..2249271 --- /dev/null +++ b/Assets/IsoEditor.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +[ExecuteInEditMode] +public class IsoEditor : MonoBehaviour { + + + public Camera IsoCamera; + + private bool hasEvents = false; + + private void OnEnable() + { + EnableButtons(); + } + + // Update is called once per frame + void Update () + { + } + + private bool isoMode = false; + private Vector3 lastCameraP; + private Quaternion lastCameraQ; + private bool lastOrtho; + + public void EnableButtons() + { + if (!hasEvents) + { + hasEvents = true; + SceneView.onSceneGUIDelegate += OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void DisableButtons() + { + if (hasEvents) + { + hasEvents = false; + SceneView.onSceneGUIDelegate -= OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void OnSceneGUI(SceneView sceneView) + { + Handles.BeginGUI(); + + if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) + { + isoMode = !isoMode; + + if (isoMode) + { + lastCameraP = sceneView.pivot; + lastCameraQ = sceneView.rotation; + lastOrtho = sceneView.orthographic; + + sceneView.AlignViewToObject(IsoCamera.transform); + sceneView.orthographic = true; + + } + else + { + sceneView.pivot = lastCameraP; + sceneView.rotation = lastCameraQ; + sceneView.orthographic = lastOrtho; + } + } + Handles.EndGUI(); + } + + +} diff --git a/Assets/IsoEditor.cs.meta b/Assets/IsoEditor.cs.meta new file mode 100755 index 0000000..1881d70 --- /dev/null +++ b/Assets/IsoEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b78fba809e013444851b9c5e8b697ec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoObject.cs b/Assets/IsoObject.cs new file mode 100755 index 0000000..0f593ce --- /dev/null +++ b/Assets/IsoObject.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class IsoObject : MonoBehaviour { + public Camera IsoCamera; + + private Material isoMaterial; + // Use this for initialization + void Start () { + + } + + // Update is called once per frame + void Update () { + + } + + void LateUpdate() + { + Vector3 viewPos = IsoCamera.WorldToViewportPoint(gameObject.transform.position); + isoMaterial.SetVector("_CenterPoint", new Vector4(viewPos.x, viewPos.y)); + } +} diff --git a/Assets/IsoObject.cs.meta b/Assets/IsoObject.cs.meta new file mode 100755 index 0000000..d82ad50 --- /dev/null +++ b/Assets/IsoObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bcdae60ce96b110429adb0dc2736286a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/IsoButton.cs b/Assets/Editor/IsoButton.cs deleted file mode 100755 index 99d2cc6..0000000 --- a/Assets/Editor/IsoButton.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEditor; -using UnityEngine; - -public class IsoButton : EditorWindow -{ - [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] - public static void Enable() - { - SceneView.onSceneGUIDelegate += OnScene; - Debug.Log("Scene GUI : Enabled"); - SceneView.RepaintAll(); - } - - [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] - public static void Disable() - { - SceneView.onSceneGUIDelegate -= OnScene; - Debug.Log("Scene GUI : Disabled"); - SceneView.RepaintAll(); - } - - private static bool isoMode = false; - - private static void OnScene(SceneView sceneview) - { - Handles.BeginGUI(); - - if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) - { - isoMode = !isoMode; - - if (isoMode) - { - SceneView.lastActiveSceneView.AlignViewToObject(GameObject.Find("IsoCamera").transform); - } - } - Handles.EndGUI(); - } -} \ No newline at end of file diff --git a/Assets/Editor/IsoButton.cs.meta b/Assets/Editor/IsoButton.cs.meta deleted file mode 100755 index 1e8c556..0000000 --- a/Assets/Editor/IsoButton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 19d6d56d0a320b2439adbe8738de84a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Editor/IsoMenu.cs b/Assets/Editor/IsoMenu.cs new file mode 100755 index 0000000..9ced6b5 --- /dev/null +++ b/Assets/Editor/IsoMenu.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public static class IsoMenu +{ + + private static IsoEditor isoEditor = null; + + [MenuItem("Window/Scene GUI/Enable ISO Cam Button")] + public static void EnableButtons() + { + isoEditor = null; + IsoEditor[] editors = Resources.FindObjectsOfTypeAll(); + if (editors.Length > 0) isoEditor = editors[0]; + + if (isoEditor != null) + { + isoEditor.EnableButtons(); + } + } + + [MenuItem("Window/Scene GUI/Disable ISO Cam Button")] + public static void DisableButtons() + { + if (isoEditor != null) + { + isoEditor.DisableButtons(); + } + } +} diff --git a/Assets/Editor/IsoMenu.cs.meta b/Assets/Editor/IsoMenu.cs.meta new file mode 100755 index 0000000..bfb8b7b --- /dev/null +++ b/Assets/Editor/IsoMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57bbd77c2e2ceec4d86b4a6bae0be219 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoEditor.cs b/Assets/IsoEditor.cs new file mode 100755 index 0000000..2249271 --- /dev/null +++ b/Assets/IsoEditor.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +[ExecuteInEditMode] +public class IsoEditor : MonoBehaviour { + + + public Camera IsoCamera; + + private bool hasEvents = false; + + private void OnEnable() + { + EnableButtons(); + } + + // Update is called once per frame + void Update () + { + } + + private bool isoMode = false; + private Vector3 lastCameraP; + private Quaternion lastCameraQ; + private bool lastOrtho; + + public void EnableButtons() + { + if (!hasEvents) + { + hasEvents = true; + SceneView.onSceneGUIDelegate += OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void DisableButtons() + { + if (hasEvents) + { + hasEvents = false; + SceneView.onSceneGUIDelegate -= OnSceneGUI; + SceneView.RepaintAll(); + } + } + + public void OnSceneGUI(SceneView sceneView) + { + Handles.BeginGUI(); + + if (GUI.Button(new Rect(5, 5, 100, 20), "ISO Mode " + (isoMode ? "On" : "Off"))) + { + isoMode = !isoMode; + + if (isoMode) + { + lastCameraP = sceneView.pivot; + lastCameraQ = sceneView.rotation; + lastOrtho = sceneView.orthographic; + + sceneView.AlignViewToObject(IsoCamera.transform); + sceneView.orthographic = true; + + } + else + { + sceneView.pivot = lastCameraP; + sceneView.rotation = lastCameraQ; + sceneView.orthographic = lastOrtho; + } + } + Handles.EndGUI(); + } + + +} diff --git a/Assets/IsoEditor.cs.meta b/Assets/IsoEditor.cs.meta new file mode 100755 index 0000000..1881d70 --- /dev/null +++ b/Assets/IsoEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b78fba809e013444851b9c5e8b697ec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoObject.cs b/Assets/IsoObject.cs new file mode 100755 index 0000000..0f593ce --- /dev/null +++ b/Assets/IsoObject.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class IsoObject : MonoBehaviour { + public Camera IsoCamera; + + private Material isoMaterial; + // Use this for initialization + void Start () { + + } + + // Update is called once per frame + void Update () { + + } + + void LateUpdate() + { + Vector3 viewPos = IsoCamera.WorldToViewportPoint(gameObject.transform.position); + isoMaterial.SetVector("_CenterPoint", new Vector4(viewPos.x, viewPos.y)); + } +} diff --git a/Assets/IsoObject.cs.meta b/Assets/IsoObject.cs.meta new file mode 100755 index 0000000..d82ad50 --- /dev/null +++ b/Assets/IsoObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bcdae60ce96b110429adb0dc2736286a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/main.unity b/Assets/main.unity index 1ca6be9..104fd8d 100755 --- a/Assets/main.unity +++ b/Assets/main.unity @@ -373,6 +373,47 @@ m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 35, y: 0, z: 0} +--- !u!1 &1493590970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1493590972} + - component: {fileID: 1493590971} + m_Layer: 0 + m_Name: IsoEditor + m_TagString: EditorOnly + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1493590971 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1493590970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b78fba809e013444851b9c5e8b697ec, type: 3} + m_Name: + m_EditorClassIdentifier: + IsoCamera: {fileID: 1211379095} +--- !u!4 &1493590972 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1493590970} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.21005154, y: 0.230649, z: 0.058857918} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1707129767 GameObject: m_ObjectHideFlags: 0