| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 | using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;namespace Enviro{    [CustomEditor(typeof(EnviroFlatCloudsModule))]    public class EnviroFlatCloudsModuleEditor : EnviroModuleEditor    {          private EnviroFlatCloudsModule myTarget;         //Properties Cirrus        private SerializedProperty useCirrusClouds,cirrusCloudsTex, cirrusCloudsAlpha,cirrusCloudsCoverage, cirrusCloudsColorPower, cirrusCloudsColor;        //Properties 2D        private SerializedProperty useFlatClouds, flatCloudsBaseTex, flatCloudsDetailTex, flatCloudsLightColor, flatCloudsAmbientColor, flatCloudsLightIntensity, flatCloudsAmbientIntensity,         flatCloudsAbsorbtion, flatCloudsHGPhase, flatCloudsCoverage, flatCloudsDensity, flatCloudsAltitude, flatCloudsTonemapping, flatCloudsBaseTiling, flatCloudsDetailTiling;        //On Enable        public override void OnEnable()        {            base.OnEnable();            if(!target)                return;            myTarget = (EnviroFlatCloudsModule)target;            serializedObj = new SerializedObject(myTarget);            preset = serializedObj.FindProperty("preset");            useCirrusClouds = serializedObj.FindProperty("settings.useCirrusClouds");            cirrusCloudsTex = serializedObj.FindProperty("settings.cirrusCloudsTex");            cirrusCloudsAlpha = serializedObj.FindProperty("settings.cirrusCloudsAlpha");            cirrusCloudsCoverage = serializedObj.FindProperty("settings.cirrusCloudsCoverage");            cirrusCloudsColorPower = serializedObj.FindProperty("settings.cirrusCloudsColorPower");            cirrusCloudsColor = serializedObj.FindProperty("settings.cirrusCloudsColor");            //2D Clouds            useFlatClouds = serializedObj.FindProperty("settings.useFlatClouds");            flatCloudsBaseTex = serializedObj.FindProperty("settings.flatCloudsBaseTex");            flatCloudsDetailTex = serializedObj.FindProperty("settings.flatCloudsDetailTex");            flatCloudsLightColor  = serializedObj.FindProperty("settings.flatCloudsLightColor");            flatCloudsAmbientColor = serializedObj.FindProperty("settings.flatCloudsAmbientColor");             flatCloudsLightIntensity = serializedObj.FindProperty("settings.flatCloudsLightIntensity");             flatCloudsAmbientIntensity = serializedObj.FindProperty("settings.flatCloudsAmbientIntensity");            flatCloudsAbsorbtion = serializedObj.FindProperty("settings.flatCloudsAbsorbtion");            flatCloudsHGPhase = serializedObj.FindProperty("settings.flatCloudsHGPhase");            flatCloudsCoverage = serializedObj.FindProperty("settings.flatCloudsCoverage");            flatCloudsDensity = serializedObj.FindProperty("settings.flatCloudsDensity");            flatCloudsAltitude  = serializedObj.FindProperty("settings.flatCloudsAltitude");            flatCloudsTonemapping  = serializedObj.FindProperty("settings.flatCloudsTonemapping");            flatCloudsBaseTiling = serializedObj.FindProperty("settings.flatCloudsBaseTiling");            flatCloudsDetailTiling = serializedObj.FindProperty("settings.flatCloudsDetailTiling");        }         public override void OnInspectorGUI()        {            if(!target)                return;             base.OnInspectorGUI();            GUI.backgroundColor = baseModuleColor;            GUILayout.BeginVertical("",boxStyleModified);            GUI.backgroundColor = Color.white;            EditorGUILayout.BeginHorizontal();            myTarget.showModuleInspector = GUILayout.Toggle(myTarget.showModuleInspector, "Flat Clouds", headerFoldout);                         GUILayout.FlexibleSpace();            if(GUILayout.Button("x", EditorStyles.miniButtonRight,GUILayout.Width(18), GUILayout.Height(18)))            {                EnviroManager.instance.RemoveModule(EnviroManager.ModuleType.FlatClouds);                 DestroyImmediate(this);                return;            }                          EditorGUILayout.EndHorizontal();                        if(myTarget.showModuleInspector)            {                RenderDisableInputBox();                serializedObj.UpdateIfRequiredOrScript ();                EditorGUI.BeginChangeCheck();                                // Cirrus Clouds                GUI.backgroundColor = categoryModuleColor;                GUILayout.BeginVertical("",boxStyleModified);                GUI.backgroundColor = Color.white;                myTarget.showCirrusCloudsControls = GUILayout.Toggle(myTarget.showCirrusCloudsControls, "Cirrus Clouds", headerFoldout);                               if(myTarget.showCirrusCloudsControls)                {                    GUILayout.Space(10);                    EditorGUILayout.PropertyField(useCirrusClouds);                    EditorGUILayout.PropertyField(cirrusCloudsTex);                    DisableInputStart();                    EditorGUILayout.PropertyField(cirrusCloudsAlpha);                    EditorGUILayout.PropertyField(cirrusCloudsCoverage);                                  EditorGUILayout.PropertyField(cirrusCloudsColorPower);                    DisableInputEnd();                    EditorGUILayout.PropertyField(cirrusCloudsColor);                }                 GUILayout.EndVertical();                if( myTarget.showCirrusCloudsControls)                    GUILayout.Space(10);                // 2D Clouds                GUI.backgroundColor = categoryModuleColor;                GUILayout.BeginVertical("",boxStyleModified);                GUI.backgroundColor = Color.white;                myTarget.show2DCloudsControls = GUILayout.Toggle(myTarget.show2DCloudsControls, "2D Clouds", headerFoldout);                               if(myTarget.show2DCloudsControls)                {                    GUILayout.Space(10);                    EditorGUILayout.PropertyField(useFlatClouds);                    GUILayout.Space(5);                    EditorGUILayout.PropertyField(flatCloudsBaseTex);                    EditorGUILayout.PropertyField(flatCloudsBaseTiling);                    EditorGUILayout.PropertyField(flatCloudsDetailTex);                    EditorGUILayout.PropertyField(flatCloudsDetailTiling);                    GUILayout.Space(5);                    EditorGUILayout.PropertyField(flatCloudsLightColor);                    DisableInputStart();                    EditorGUILayout.PropertyField(flatCloudsLightIntensity);                    DisableInputEnd();                    EditorGUILayout.PropertyField(flatCloudsAmbientColor);                    DisableInputStart();                    EditorGUILayout.PropertyField(flatCloudsAmbientIntensity);                            EditorGUILayout.PropertyField(flatCloudsAbsorbtion);                    DisableInputEnd();                    EditorGUILayout.PropertyField(flatCloudsHGPhase);                    GUILayout.Space(5);                    DisableInputStart();                    EditorGUILayout.PropertyField(flatCloudsCoverage);                    EditorGUILayout.PropertyField(flatCloudsDensity);                    DisableInputEnd();                    EditorGUILayout.PropertyField(flatCloudsAltitude);                    EditorGUILayout.PropertyField(flatCloudsTonemapping);                }                 GUILayout.EndVertical();                   if( myTarget.show2DCloudsControls)                    GUILayout.Space(10);                // Save Load                GUI.backgroundColor = categoryModuleColor;                GUILayout.BeginVertical("",boxStyleModified);                GUI.backgroundColor = Color.white;                myTarget.showSaveLoad = GUILayout.Toggle(myTarget.showSaveLoad, "Save/Load", headerFoldout);                                if(myTarget.showSaveLoad)                {                    EditorGUILayout.PropertyField(preset);                    GUILayout.BeginHorizontal("",wrapStyle);                    if(myTarget.preset != null)                    {                        if(GUILayout.Button("Load"))                        {                            myTarget.LoadModuleValues();                        }                        if(GUILayout.Button("Save"))                        {                            myTarget.SaveModuleValues(myTarget.preset);                        }                    }                    if(GUILayout.Button("Save As New"))                    {                        myTarget.SaveModuleValues();                    }                    GUILayout.EndHorizontal();                     }                GUILayout.EndVertical();                /// Save Load End                                ApplyChanges ();            }            GUILayout.EndVertical();             if(myTarget.showModuleInspector)             GUILayout.Space(20);        }    }}
 |