add weather and time
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
namespace Enviro
|
||||
{
|
||||
[CustomEditor(typeof(EnviroLightningModule))]
|
||||
public class EnviroLightningModuleEditor : EnviroModuleEditor
|
||||
{
|
||||
private EnviroLightningModule myTarget;
|
||||
|
||||
//Properties
|
||||
private SerializedProperty prefab, lightningStorm,randomLightingDelay, randomSpawnRange, randomTargetRange,cloudsLightningRadius ,cloudsLightningDuration;
|
||||
|
||||
|
||||
//On Enable
|
||||
public override void OnEnable()
|
||||
{
|
||||
base.OnEnable();
|
||||
|
||||
if(!target)
|
||||
return;
|
||||
|
||||
myTarget = (EnviroLightningModule)target;
|
||||
serializedObj = new SerializedObject(myTarget);
|
||||
preset = serializedObj.FindProperty("preset");
|
||||
prefab = serializedObj.FindProperty("Settings.prefab");
|
||||
lightningStorm = serializedObj.FindProperty("Settings.lightningStorm");
|
||||
randomLightingDelay = serializedObj.FindProperty("Settings.randomLightingDelay");
|
||||
randomSpawnRange = serializedObj.FindProperty("Settings.randomSpawnRange");
|
||||
randomTargetRange = serializedObj.FindProperty("Settings.randomTargetRange");
|
||||
cloudsLightningRadius = serializedObj.FindProperty("Settings.cloudsLightningRadius");
|
||||
cloudsLightningDuration = serializedObj.FindProperty("Settings.cloudsLightningDuration");
|
||||
}
|
||||
|
||||
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, "Lightning", headerFoldout);
|
||||
|
||||
GUILayout.FlexibleSpace();
|
||||
if(GUILayout.Button("x", EditorStyles.miniButtonRight,GUILayout.Width(18), GUILayout.Height(18)))
|
||||
{
|
||||
EnviroManager.instance.RemoveModule(EnviroManager.ModuleType.Lightning); //Add Remove
|
||||
DestroyImmediate(this);
|
||||
return;
|
||||
}
|
||||
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
if(myTarget.showModuleInspector)
|
||||
{
|
||||
RenderDisableInputBox();
|
||||
serializedObj.UpdateIfRequiredOrScript ();
|
||||
EditorGUI.BeginChangeCheck();
|
||||
|
||||
// Set Values
|
||||
GUI.backgroundColor = categoryModuleColor;
|
||||
GUILayout.BeginVertical("",boxStyleModified);
|
||||
GUI.backgroundColor = Color.white;
|
||||
myTarget.showLightningControls = GUILayout.Toggle(myTarget.showLightningControls, "Lightning Controls", headerFoldout);
|
||||
if(myTarget.showLightningControls)
|
||||
{
|
||||
GUILayout.Space(10);
|
||||
DisableInputStart();
|
||||
EditorGUILayout.PropertyField(lightningStorm);
|
||||
DisableInputEnd();
|
||||
GUILayout.Space(5);
|
||||
EditorGUILayout.PropertyField(prefab);
|
||||
GUILayout.Space(5);
|
||||
EditorGUILayout.LabelField("Random Lighting Storm", headerStyle);
|
||||
DisableInputStart();
|
||||
EditorGUILayout.PropertyField(randomLightingDelay);
|
||||
DisableInputEnd();
|
||||
EditorGUILayout.PropertyField(randomSpawnRange);
|
||||
EditorGUILayout.PropertyField(randomTargetRange);
|
||||
GUILayout.Space(5);
|
||||
EditorGUILayout.LabelField("Volumetric Clouds", headerStyle);
|
||||
EditorGUILayout.PropertyField(cloudsLightningRadius);
|
||||
EditorGUILayout.PropertyField(cloudsLightningDuration);
|
||||
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9555c8222b7957043b2ac73b7cf4343c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 236601
|
||||
packageName: Enviro 3 - Sky and Weather
|
||||
packageVersion: 3.1.2
|
||||
assetPath: Assets/Enviro 3 - Sky and Weather/Scripts/Editor/Modules/Lightning/EnviroLightningModuleEditor.cs
|
||||
uploadId: 660896
|
||||
Reference in New Issue
Block a user