123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEditor;
- namespace Enviro
- {
- [CustomEditor(typeof(EnviroEnvironmentModule))]
- public class EnviroEnvironmentModuleEditor : EnviroModuleEditor
- {
- private EnviroEnvironmentModule myTarget;
- //Properties Seasons
- private SerializedProperty season, changeSeason, springStart, springEnd, summerStart, summerEnd, autumnStart, autumnEnd, winterStart, winterEnd;
- //Properties Temperature
- private SerializedProperty springBaseTemperature, summerBaseTemperature, autumnBaseTemperature, winterBaseTemperature, temperatureWeatherMod, temperature, temperatureChangingSpeed;
- //Properties Weather State
- private SerializedProperty wetness, snow, wetnessTarget, snowTarget, wetnessAccumulationSpeed, wetnessDrySpeed, snowAccumulationSpeed, snowMeltSpeed ,snowMeltingTresholdTemperature;
- //On Enable
- public override void OnEnable()
- {
- base.OnEnable();
- if(!target)
- return;
- myTarget = (EnviroEnvironmentModule)target;
- serializedObj = new SerializedObject(myTarget);
- preset = serializedObj.FindProperty("preset");
- season = serializedObj.FindProperty("Settings.season");
- changeSeason = serializedObj.FindProperty("Settings.changeSeason");
- springStart = serializedObj.FindProperty("Settings.springStart");
- springEnd = serializedObj.FindProperty("Settings.springEnd");
- summerStart = serializedObj.FindProperty("Settings.summerStart");
- summerEnd = serializedObj.FindProperty("Settings.summerEnd");
- autumnStart = serializedObj.FindProperty("Settings.autumnStart");
- autumnEnd = serializedObj.FindProperty("Settings.autumnEnd");
- winterStart = serializedObj.FindProperty("Settings.winterStart");
- winterEnd = serializedObj.FindProperty("Settings.winterEnd");
- springBaseTemperature = serializedObj.FindProperty("Settings.springBaseTemperature");
- summerBaseTemperature = serializedObj.FindProperty("Settings.summerBaseTemperature");
- autumnBaseTemperature = serializedObj.FindProperty("Settings.autumnBaseTemperature");
- winterBaseTemperature = serializedObj.FindProperty("Settings.winterBaseTemperature");
- temperatureWeatherMod = serializedObj.FindProperty("Settings.temperatureWeatherMod");
- temperature = serializedObj.FindProperty("Settings.temperature");
- temperatureChangingSpeed = serializedObj.FindProperty("Settings.temperatureChangingSpeed");
- wetness = serializedObj.FindProperty("Settings.wetness");
- snow = serializedObj.FindProperty("Settings.snow");
- wetnessTarget = serializedObj.FindProperty("Settings.wetnessTarget");
- snowTarget = serializedObj.FindProperty("Settings.snowTarget");
- wetnessAccumulationSpeed = serializedObj.FindProperty("Settings.wetnessAccumulationSpeed");
- wetnessDrySpeed = serializedObj.FindProperty("Settings.wetnessDrySpeed");
- snowAccumulationSpeed = serializedObj.FindProperty("Settings.snowAccumulationSpeed");
- snowMeltSpeed = serializedObj.FindProperty("Settings.snowMeltSpeed");
- snowMeltingTresholdTemperature = serializedObj.FindProperty("Settings.snowMeltingTresholdTemperature");
-
- }
- 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, "Environment", headerFoldout);
-
- GUILayout.FlexibleSpace();
- if(GUILayout.Button("x", EditorStyles.miniButtonRight,GUILayout.Width(18), GUILayout.Height(18)))
- {
- EnviroManager.instance.RemoveModule(EnviroManager.ModuleType.Environment); //Add Remove
- DestroyImmediate(this);
- return;
- }
-
- EditorGUILayout.EndHorizontal();
-
- if(myTarget.showModuleInspector)
- {
- RenderDisableInputBox();
- serializedObj.UpdateIfRequiredOrScript ();
- EditorGUI.BeginChangeCheck();
-
- GUI.backgroundColor = categoryModuleColor;
- GUILayout.BeginVertical("",boxStyleModified);
- GUI.backgroundColor = Color.white;
- myTarget.showSeasonControls = GUILayout.Toggle(myTarget.showSeasonControls, "Season Controls", headerFoldout);
- if(myTarget.showSeasonControls)
- {
-
- GUILayout.Space(5);
- EditorGUILayout.PropertyField(season);
- EditorGUILayout.PropertyField(changeSeason);
- GUILayout.Space(10);
- EditorGUILayout.PropertyField(springStart);
- EditorGUILayout.PropertyField(springEnd);
- GUILayout.Space(5);
- EditorGUILayout.PropertyField(summerStart);
- EditorGUILayout.PropertyField(summerEnd);
- GUILayout.Space(5);
- EditorGUILayout.PropertyField(autumnStart);
- EditorGUILayout.PropertyField(autumnEnd);
- GUILayout.Space(5);
- EditorGUILayout.PropertyField(winterStart);
- EditorGUILayout.PropertyField(winterEnd);
- }
- GUILayout.EndVertical();
- GUI.backgroundColor = categoryModuleColor;
- GUILayout.BeginVertical("",boxStyleModified);
- GUI.backgroundColor = Color.white;
- myTarget.showTemperatureControls = GUILayout.Toggle(myTarget.showTemperatureControls, "Temperature Controls", headerFoldout);
- if(myTarget.showTemperatureControls)
- {
- GUILayout.Space(5);
- EditorGUILayout.PropertyField(temperature);
- DisableInputStart();
- EditorGUILayout.PropertyField(temperatureWeatherMod);
- DisableInputEnd();
- EditorGUILayout.PropertyField(temperatureChangingSpeed);
- GUILayout.Space(10);
- EditorGUILayout.PropertyField(springBaseTemperature);
- EditorGUILayout.PropertyField(summerBaseTemperature);
- EditorGUILayout.PropertyField(autumnBaseTemperature);
- EditorGUILayout.PropertyField(winterBaseTemperature);
- }
- GUILayout.EndVertical();
- GUI.backgroundColor = categoryModuleColor;
- GUILayout.BeginVertical("",boxStyleModified);
- GUI.backgroundColor = Color.white;
- myTarget.showWeatherStateControls = GUILayout.Toggle(myTarget.showWeatherStateControls, "Weather State Controls", headerFoldout);
- if(myTarget.showWeatherStateControls)
- {
- GUILayout.Space(5);
- EditorGUILayout.PropertyField(wetness);
- EditorGUILayout.PropertyField(snow);
- GUILayout.Space(5);
- DisableInputStart();
- EditorGUILayout.PropertyField(wetnessTarget);
- EditorGUILayout.PropertyField(snowTarget);
- DisableInputEnd();
- GUILayout.Space(10);
- EditorGUILayout.PropertyField(wetnessAccumulationSpeed);
- EditorGUILayout.PropertyField(wetnessDrySpeed);
- GUILayout.Space(5);
- EditorGUILayout.PropertyField(snowAccumulationSpeed);
- EditorGUILayout.PropertyField(snowMeltSpeed);
- EditorGUILayout.PropertyField(snowMeltingTresholdTemperature);
- }
- GUILayout.EndVertical();
- // 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);
- }
- }
- }
|