From 5b158af90739dcbb89c1538a6cb8c65a875dce80 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 26 Nov 2020 20:52:34 +0800 Subject: *misc --- .../Core/Editor/HeightFogCreate.cs | 111 +++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor/HeightFogCreate.cs (limited to 'Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor/HeightFogCreate.cs') diff --git a/Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor/HeightFogCreate.cs b/Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor/HeightFogCreate.cs new file mode 100644 index 00000000..bc273fca --- /dev/null +++ b/Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor/HeightFogCreate.cs @@ -0,0 +1,111 @@ +// Cristian Pop - https://boxophobic.com/ + +using UnityEditor; +using UnityEditor.SceneManagement; +using UnityEngine; + +namespace AtmosphericHeightFog +{ + public class HeightFogCreate + { + [MenuItem("GameObject/BOXOPHOBIC/Atmospheric Height Fog/Global", false, 9)] + static void CreateGlobalVolume() + { + if (GameObject.Find("Height Fog Global") != null) + { + Debug.Log("[Atmospheric Height Fog] " + "Height Fog Global is already added to your scene!"); + return; + } + + GameObject go = new GameObject(); + go.name = "Height Fog Global"; + go.AddComponent(); + + if (Selection.activeGameObject != null) + { + go.transform.parent = Selection.activeGameObject.transform; + } + + Selection.activeGameObject = go; + + EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + } + + [MenuItem("GameObject/BOXOPHOBIC/Atmospheric Height Fog/Override Volume (Box)", false, 10)] + static void CreateOverrideBoxVolume() + { + if (GameObject.Find("Height Fog Global") == null) + { + Debug.Log("[Atmospheric Height Fog] " + "Height Fog Global must be added to the scene first!"); + return; + } + + GameObject go = new GameObject(); + go.name = "Height Fog Override (Box)"; + go.AddComponent(); + go.GetComponent().isTrigger = true; + go.AddComponent(); + + var sceneCamera = SceneView.lastActiveSceneView.camera; + + if (sceneCamera != null) + { + go.transform.position = sceneCamera.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, 10f)); + } + else + { + go.transform.localPosition = Vector3.zero; + go.transform.localEulerAngles = Vector3.zero; + go.transform.localScale = Vector3.one; + } + + if (Selection.activeGameObject != null) + { + go.transform.parent = Selection.activeGameObject.transform; + } + + Selection.activeGameObject = go; + + EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + } + + [MenuItem("GameObject/BOXOPHOBIC/Atmospheric Height Fog/Override Volume (Sphere)", false, 11)] + static void CreateOverrideSphereVolume() + { + if (GameObject.Find("Height Fog Global") == null) + { + Debug.Log("[Atmospheric Height Fog] " + "Height Fog Global must be added to the scene first!"); + return; + } + + GameObject go = new GameObject(); + go.name = "Height Fog Override (Sphere)"; + go.AddComponent(); + go.GetComponent().isTrigger = true; + go.AddComponent(); + + var sceneCamera = SceneView.lastActiveSceneView.camera; + + if (sceneCamera != null) + { + go.transform.position = sceneCamera.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, 10f)); + } + else + { + go.transform.localPosition = Vector3.zero; + go.transform.localEulerAngles = Vector3.zero; + go.transform.localScale = Vector3.one; + } + + if (Selection.activeGameObject != null) + { + go.transform.parent = Selection.activeGameObject.transform; + } + + Selection.activeGameObject = go; + + EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + } + } +} + -- cgit v1.1-26-g67d0