You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1624 lines
89 KiB
1624 lines
89 KiB
3 years ago
|
using UnityEditor;
|
||
|
using UnityEngine;
|
||
|
using System.Collections;
|
||
|
using UnityEditorInternal;
|
||
|
|
||
|
[CustomEditor(typeof(AzureSky_Controller))]
|
||
|
public class AzureSky_ControllerEditor : Editor
|
||
|
{
|
||
|
private string[] spaceColor = new string[]{"Default", "Linear To Gamma"};
|
||
|
private string[] ambientSource = new string[]{"Skybox", "Gradient", "Color"};
|
||
|
private string[] cloudMode = new string[]{"Null", "Pre-Rendered", "Procedural (WIP)"};
|
||
|
private string[] reflectionRefreshMode = new string[]{"On Awake", "Every Frame", "Via Scripting"};
|
||
|
private string[] reflectionTimeSlicing = new string[]{"All faces at once", "Individual faces", "No time slicing"};
|
||
|
private string[] unityFogMode = new string[]{"Linear", "Exponential", "Exponential Square"};
|
||
|
|
||
|
private int Day;
|
||
|
private string Sunday ="Sanday";
|
||
|
private string Monday ="M";
|
||
|
private string Tuesday ="T";
|
||
|
private string Wednesday ="W";
|
||
|
private string Thursday ="T";
|
||
|
private string Friday ="F";
|
||
|
private string Saturday ="S";
|
||
|
|
||
|
private string installPath;
|
||
|
private string inspectorGUIPath;
|
||
|
private int offset = 20;
|
||
|
private Color curveColor = Color.yellow;
|
||
|
private float curveWidth = 126;
|
||
|
private float curveValueWidth = 15;
|
||
|
|
||
|
private ReorderableList reorderCurveList;
|
||
|
private ReorderableList reorderGradientList;
|
||
|
private SerializedProperty serCurve;
|
||
|
private SerializedProperty serGradient;
|
||
|
|
||
|
Texture2D ShowHideTimeOfDay;
|
||
|
Texture2D ShowHideObjectsAndMaterials;
|
||
|
Texture2D ShowHideScattering;
|
||
|
Texture2D ShowHideSkySettings;
|
||
|
Texture2D ShowHideFogSettings;
|
||
|
Texture2D ShowHideCloudSettings;
|
||
|
Texture2D ShowHideAmbient;
|
||
|
Texture2D ShowHideLighting;
|
||
|
Texture2D ShowHideTextures;
|
||
|
Texture2D ShowHideOptions;
|
||
|
Texture2D ShowHideOutput;
|
||
|
|
||
|
SerializedObject serObj;
|
||
|
// SerializedProperty SunGradientColor;
|
||
|
SerializedProperty SunsetGradientColor;
|
||
|
SerializedProperty MoonGradientColor;
|
||
|
SerializedProperty MoonBrightGradientColor;
|
||
|
|
||
|
SerializedProperty AmbientColorGradient;
|
||
|
SerializedProperty SkyAmbientColorGradient;
|
||
|
SerializedProperty EquatorAmbientColorGradient;
|
||
|
SerializedProperty GroundAmbientColorGradient;
|
||
|
SerializedProperty SunDirLightColorGradient;
|
||
|
SerializedProperty MoonDirLightColorGradient;
|
||
|
|
||
|
SerializedProperty NightGroundCloseGradientColor;
|
||
|
SerializedProperty NightGroundFarGradientColor;
|
||
|
|
||
|
SerializedProperty ReflectionProbeCullingMask;
|
||
|
|
||
|
SerializedProperty EdgeColorGradientColor;
|
||
|
SerializedProperty DarkColorGradientColor;
|
||
|
|
||
|
SerializedProperty NormalFogGradientColor;
|
||
|
SerializedProperty GlobalFogGradientColor;
|
||
|
SerializedProperty DenseFogGradientColor;
|
||
|
|
||
|
SerializedProperty WispyDarknessGradientColor;
|
||
|
SerializedProperty WispyBrightGradientColor;
|
||
|
SerializedProperty WispyColorGradientColor;
|
||
|
|
||
|
SerializedProperty UnityFogGradientColor;
|
||
|
|
||
|
void OnEnable()
|
||
|
{
|
||
|
string scriptLocation = AssetDatabase.GetAssetPath(MonoScript.FromScriptableObject(this));
|
||
|
installPath = scriptLocation.Replace ("/Editor/AzureSky_ControllerEditor.cs", "");
|
||
|
inspectorGUIPath = installPath + "/Editor/InspectorGUI";
|
||
|
//-------------------------------------------------------------------------------------------------------
|
||
|
//Gradient Color Serialize
|
||
|
serObj = new SerializedObject(target);
|
||
|
// SunGradientColor = serObj.FindProperty ("SunGradientColor");
|
||
|
SunsetGradientColor = serObj.FindProperty ("SunsetGradientColor");
|
||
|
MoonGradientColor = serObj.FindProperty ("MoonGradientColor");
|
||
|
MoonBrightGradientColor = serObj.FindProperty ("MoonBrightGradientColor");
|
||
|
AmbientColorGradient = serObj.FindProperty ("AmbientColorGradient");
|
||
|
SkyAmbientColorGradient = serObj.FindProperty ("SkyAmbientColorGradient");
|
||
|
EquatorAmbientColorGradient = serObj.FindProperty ("EquatorAmbientColorGradient");
|
||
|
GroundAmbientColorGradient = serObj.FindProperty ("GroundAmbientColorGradient");
|
||
|
SunDirLightColorGradient = serObj.FindProperty ("SunDirLightColorGradient");
|
||
|
MoonDirLightColorGradient = serObj.FindProperty ("MoonDirLightColorGradient");
|
||
|
ReflectionProbeCullingMask = serObj.FindProperty ("ReflectionProbeCullingMask");
|
||
|
|
||
|
NightGroundCloseGradientColor = serObj.FindProperty("NightGroundCloseGradientColor");
|
||
|
NightGroundFarGradientColor = serObj.FindProperty("NightGroundFarGradientColor");
|
||
|
|
||
|
EdgeColorGradientColor = serObj.FindProperty ("EdgeColorGradientColor");
|
||
|
DarkColorGradientColor = serObj.FindProperty ("DarkColorGradientColor");
|
||
|
|
||
|
NormalFogGradientColor = serObj.FindProperty ("NormalFogGradientColor");
|
||
|
GlobalFogGradientColor = serObj.FindProperty ("GlobalFogGradientColor");
|
||
|
DenseFogGradientColor = serObj.FindProperty ("DenseFogGradientColor");
|
||
|
|
||
|
WispyDarknessGradientColor = serObj.FindProperty ("WispyDarknessGradientColor");
|
||
|
WispyBrightGradientColor = serObj.FindProperty("WispyBrightGradientColor");
|
||
|
WispyColorGradientColor = serObj.FindProperty ("WispyColorGradientColor");
|
||
|
|
||
|
UnityFogGradientColor = serObj.FindProperty ("UnityFogGradientColor");
|
||
|
//=======================================================================================================
|
||
|
//-----------------------------------------CREATE OUTPUT LISTs-------------------------------------------
|
||
|
serCurve = serializedObject.FindProperty ("OutputCurveList");
|
||
|
reorderCurveList = new ReorderableList (serializedObject, serCurve, false, true, true, true);
|
||
|
reorderCurveList.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) =>
|
||
|
{
|
||
|
rect.y += 2;
|
||
|
EditorGUI.LabelField(rect, "element index " + index.ToString());
|
||
|
EditorGUI.PropertyField(new Rect (rect.x+100, rect.y, rect.width-100, EditorGUIUtility.singleLineHeight), serCurve.GetArrayElementAtIndex(index), GUIContent.none);
|
||
|
};
|
||
|
reorderCurveList.onAddCallback = (ReorderableList l) =>
|
||
|
{
|
||
|
var index = l.serializedProperty.arraySize;
|
||
|
l.serializedProperty.arraySize++;
|
||
|
l.index = index;
|
||
|
serCurve.GetArrayElementAtIndex(index).animationCurveValue = AnimationCurve.Linear(0,0,24,0);
|
||
|
};
|
||
|
reorderCurveList.drawHeaderCallback = (Rect rect) =>
|
||
|
{
|
||
|
EditorGUI.LabelField(rect, "Curve Output", EditorStyles.boldLabel);
|
||
|
EditorGUI.LabelField(new Rect (rect.x+90, rect.y, rect.width, rect.height), "(as Float)", EditorStyles.miniBoldLabel);
|
||
|
};
|
||
|
reorderCurveList.drawElementBackgroundCallback = (rect, index, active, focused) => {
|
||
|
Texture2D tex = new Texture2D (1, 1);
|
||
|
tex.SetPixel (0, 0, new Color (0.35f, 0.55f, 1f, 0.55f));
|
||
|
tex.Apply ();
|
||
|
if (active)
|
||
|
GUI.DrawTexture (rect, tex as Texture);
|
||
|
};
|
||
|
//=======================================================================================================
|
||
|
//-------------------------------------------------------------------------------------------------------
|
||
|
serGradient = serializedObject.FindProperty ("OutputGradientList");
|
||
|
reorderGradientList = new ReorderableList (serializedObject, serGradient, false, true, true, true);
|
||
|
reorderGradientList.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) =>
|
||
|
{
|
||
|
rect.y += 2;
|
||
|
EditorGUI.LabelField(rect, "element index " + index.ToString());
|
||
|
EditorGUI.PropertyField(new Rect (rect.x+100, rect.y, rect.width-100, EditorGUIUtility.singleLineHeight), serGradient.GetArrayElementAtIndex(index), GUIContent.none);
|
||
|
};
|
||
|
reorderGradientList.drawHeaderCallback = (Rect rect) =>
|
||
|
{
|
||
|
EditorGUI.LabelField(rect, "Gradient Output", EditorStyles.boldLabel);
|
||
|
EditorGUI.LabelField(new Rect (rect.x+107, rect.y, rect.width, rect.height), "(as Color)", EditorStyles.miniBoldLabel);
|
||
|
};
|
||
|
reorderGradientList.drawElementBackgroundCallback = (rect, index, active, focused) => {
|
||
|
Texture2D tex = new Texture2D (1, 1);
|
||
|
tex.SetPixel (0, 0, new Color (0.35f, 0.55f, 1f, 0.55f));
|
||
|
tex.Apply ();
|
||
|
if (active)
|
||
|
GUI.DrawTexture (rect, tex as Texture);
|
||
|
};
|
||
|
//=======================================================================================================
|
||
|
//-------------------------------------------------------------------------------------------------------
|
||
|
}
|
||
|
|
||
|
|
||
|
public override void OnInspectorGUI()
|
||
|
{
|
||
|
//Get target
|
||
|
AzureSky_Controller Target = (AzureSky_Controller)target;
|
||
|
Undo.RecordObject (Target, "Undo azure[Sky] Values");
|
||
|
serializedObject.Update();
|
||
|
serObj.Update ();
|
||
|
Day = Target.DAY_of_WEEK;
|
||
|
//=======================================================================================================
|
||
|
//-----------------------------------------GUI Variables-------------------------------------------------
|
||
|
curveColor = Target.CurveColorField;
|
||
|
Texture2D Show = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/Show.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D Hide = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/Hide.png", typeof (Texture2D))as Texture2D;
|
||
|
|
||
|
if (Target.showTimeOfDay) ShowHideTimeOfDay = Hide; else ShowHideTimeOfDay = Show;
|
||
|
if (Target.showObj_and_Mat) ShowHideObjectsAndMaterials = Hide; else ShowHideObjectsAndMaterials = Show;
|
||
|
if (Target.showScattering) ShowHideScattering = Hide; else ShowHideScattering = Show;
|
||
|
if (Target.showSkySettings) ShowHideSkySettings = Hide; else ShowHideSkySettings = Show;
|
||
|
if (Target.showFogSettings) ShowHideFogSettings = Hide; else ShowHideFogSettings = Show;
|
||
|
if (Target.showCloudSettings) ShowHideCloudSettings = Hide; else ShowHideCloudSettings = Show;
|
||
|
if (Target.showAmbient) ShowHideAmbient = Hide; else ShowHideAmbient = Show;
|
||
|
if (Target.showLighting) ShowHideLighting = Hide; else ShowHideLighting = Show;
|
||
|
if (Target.showTextures) ShowHideTextures = Hide; else ShowHideTextures = Show;
|
||
|
if (Target.showOptions) ShowHideOptions = Hide; else ShowHideOptions = Show;
|
||
|
if (Target.showOutput) ShowHideOutput = Hide; else ShowHideOutput = Show;
|
||
|
|
||
|
if (Target.DAY_of_WEEK == 0) Sunday = "Sunday"; else Sunday = "S";
|
||
|
if (Target.DAY_of_WEEK == 1) Monday = "Monday"; else Monday = "M";
|
||
|
if (Target.DAY_of_WEEK == 2) Tuesday = "Tuesday"; else Tuesday = "T";
|
||
|
if (Target.DAY_of_WEEK == 3) Wednesday = "Wednesday"; else Wednesday = "W";
|
||
|
if (Target.DAY_of_WEEK == 4) Thursday = "Thursday"; else Thursday = "T";
|
||
|
if (Target.DAY_of_WEEK == 5) Friday = "Friday"; else Friday = "F";
|
||
|
if (Target.DAY_of_WEEK == 6) Saturday = "Saturday"; else Saturday = "S";
|
||
|
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//-----------------------------------------GUI Layout----------------------------------------------------
|
||
|
Rect bgRect = EditorGUILayout.GetControlRect ();
|
||
|
bgRect = new Rect (bgRect.x+1, bgRect.y-18, bgRect.width-20, bgRect.height+1);
|
||
|
Texture2D bgTex;
|
||
|
Texture2D logoTex = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/azure[Sky]_Titlebar4.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D tab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/InspectorTab.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D GradientTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/GradientTime3.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D TimeOfDayTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/TimeOfDay.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D ObjectsAndMaterialsTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/ObjectsAndMaterials.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D ScatteringTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/Scattering.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D SkySettingsTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/SkySettings.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D FogSettingsTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/FogSettings.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D CloudSettingsTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/CloudSettings.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D AmbientTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/Ambient.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D LightingTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/Lighting.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D TexturesTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/Textures.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D OptionsTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/Options.png", typeof (Texture2D))as Texture2D;
|
||
|
Texture2D OutputTab = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/Output.png", typeof (Texture2D))as Texture2D;
|
||
|
|
||
|
if (EditorGUIUtility.isProSkin) {
|
||
|
bgTex = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/DarkSkin.jpg", typeof(Texture2D))as Texture2D;
|
||
|
} else {
|
||
|
bgTex = AssetDatabase.LoadAssetAtPath (inspectorGUIPath + "/LightSkin.jpg", typeof(Texture2D))as Texture2D;
|
||
|
}
|
||
|
EditorGUI.DrawPreviewTexture (bgRect, bgTex);
|
||
|
GUI.DrawTexture (new Rect (10,bgRect.y+13, bgRect.width+25,46), logoTex);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
if (Target.showCurveValue) {
|
||
|
curveWidth = 84;
|
||
|
curveValueWidth = 38;
|
||
|
} else curveWidth = 126;
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//------------------------------------------//TIME OF DAY TAB\\------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 113, 18), TimeOfDayTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showTimeOfDay = EditorGUILayout.Toggle (Target.showTimeOfDay, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideTimeOfDay);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showTimeOfDay) {
|
||
|
//Select the Day of the Week
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 1).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.BeginHorizontal();
|
||
|
if (GUILayout.Button (Sunday)) {
|
||
|
Target.DAY_of_WEEK = 0;
|
||
|
}
|
||
|
if (GUILayout.Button (Monday)) {
|
||
|
Target.DAY_of_WEEK = 1;
|
||
|
}
|
||
|
if (GUILayout.Button (Tuesday)) {
|
||
|
Target.DAY_of_WEEK = 2;
|
||
|
}
|
||
|
if (GUILayout.Button (Wednesday)) {
|
||
|
Target.DAY_of_WEEK = 3;
|
||
|
}
|
||
|
if (GUILayout.Button (Thursday)) {
|
||
|
Target.DAY_of_WEEK = 4;
|
||
|
}
|
||
|
if (GUILayout.Button (Friday)) {
|
||
|
Target.DAY_of_WEEK = 5;
|
||
|
}
|
||
|
if (GUILayout.Button (Saturday)) {
|
||
|
Target.DAY_of_WEEK = 6;
|
||
|
}
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y-3, bgRect.width + offset, 2), tab);
|
||
|
//Timeline
|
||
|
EditorGUILayout.BeginHorizontal();
|
||
|
GUILayout.Label ("Timeline");
|
||
|
Target.TIME_of_DAY = EditorGUILayout.Slider(Target.TIME_of_DAY,0.0f, 24.0f);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//UTC
|
||
|
EditorGUILayout.BeginHorizontal();
|
||
|
GUILayout.Label ("UTC");
|
||
|
Target.UTC = EditorGUILayout.IntSlider(Target.UTC,-12, 12, GUILayout.Width(130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Longitude
|
||
|
EditorGUILayout.BeginHorizontal();
|
||
|
GUILayout.Label ("Longitude");
|
||
|
Target.Longitude = EditorGUILayout.Slider(Target.Longitude,-180.0f, 180.0f, GUILayout.Width(130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Number of Days
|
||
|
EditorGUILayout.BeginHorizontal();
|
||
|
GUILayout.Label ("Number of Days");
|
||
|
Target.NUMBER_of_DAYS = EditorGUILayout.IntSlider(Target.NUMBER_of_DAYS,1, 7, GUILayout.Width(130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Day Cycle
|
||
|
EditorGUILayout.BeginHorizontal();
|
||
|
GUILayout.Label ("Day Cycle in Minutes");
|
||
|
Target.DAY_CYCLE = EditorGUILayout.FloatField(Target.DAY_CYCLE, GUILayout.Width(50));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.Space ();
|
||
|
//Time Curve
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Day and Night Length", EditorStyles.boldLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.Space ();
|
||
|
//Set Time by Curve?
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Set Time of Day by Curve?");
|
||
|
Target.SetTime_By_Curve = EditorGUILayout.Toggle (Target.SetTime_By_Curve, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Day and Night Length Curve Field
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(25), GUILayout.Height(25))) { Target.DayNightLengthCurve = AnimationCurve.Linear (0, 0, 24, 24); }
|
||
|
Target.DayNightLengthCurve = EditorGUILayout.CurveField (Target.DayNightLengthCurve, curveColor, new Rect(0,0,24,24), GUILayout.Height(25));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Show Current Time of Day by Curve
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Current Time by Curve:");
|
||
|
GUILayout.TextField (Target.TIME_of_DAY_by_CURVE.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//------------------------------------//OBJECTS AND MATERIALS TAB\\--------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 102, 18), ObjectsAndMaterialsTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showObj_and_Mat = EditorGUILayout.Toggle (Target.showObj_and_Mat, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideObjectsAndMaterials);
|
||
|
// EditorGUILayout.BeginHorizontal();
|
||
|
// Target.showObj_and_Mat = EditorGUILayout.Foldout (Target.showObj_and_Mat,"Objects and Materials");
|
||
|
// EditorGUILayout.EndHorizontal ();
|
||
|
// EditorGUILayout.BeginHorizontal ();
|
||
|
// GUILayout.Label("Objects and Materials");
|
||
|
// GUILayout.Label (showObj_and_Mat, GUILayout.Width(43));
|
||
|
// Target.showObj_and_Mat = EditorGUILayout.Toggle (Target.showObj_and_Mat, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
// EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showObj_and_Mat) {
|
||
|
//Sun Directional Light
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Sun" + " DirLight");
|
||
|
Target.Sun_DirectionalLight = (GameObject)EditorGUILayout.ObjectField (Target.Sun_DirectionalLight, typeof(GameObject), true,GUILayout.Width (130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Moon Directional Light
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Moon DirLight");
|
||
|
Target.Moon_DirectionalLight = (GameObject)EditorGUILayout.ObjectField (Target.Moon_DirectionalLight, typeof(GameObject), true,GUILayout.Width (130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sky Material
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Sky" + " Material");
|
||
|
Target.Sky_Material = (Material)EditorGUILayout.ObjectField (Target.Sky_Material, typeof(Material), true,GUILayout.Width (130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Fog Material
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Fog" + " Material");
|
||
|
Target.Fog_Material = (Material)EditorGUILayout.ObjectField (Target.Fog_Material, typeof(Material), true,GUILayout.Width (130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Moon Material
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Moon Material");
|
||
|
Target.Moon_Material = (Material)EditorGUILayout.ObjectField (Target.Moon_Material, typeof(Material), true,GUILayout.Width (130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Reflection Probe
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Reflection Probe");
|
||
|
Target.AzureReflectionProbe = (ReflectionProbe)EditorGUILayout.ObjectField (Target.AzureReflectionProbe, typeof(ReflectionProbe), true,GUILayout.Width (130));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//-------------------------------------------//SCATTERING TAB\\------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 111, 18), ScatteringTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showScattering = EditorGUILayout.Toggle (Target.showScattering, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideScattering);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showScattering) {
|
||
|
///Wave-Length///
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Wave-Length", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
// R
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("R", EditorStyles.boldLabel);
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.LambdaCurveR[Day] = AnimationCurve.Linear(0,650.0f,24,650.0f); }
|
||
|
Target.LambdaCurveR[Day] = EditorGUILayout.CurveField (Target.LambdaCurveR[Day], Color.red, new Rect(0,0,24,1000),GUILayout.Width (curveWidth-3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.lambda.x.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
// G
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("G", EditorStyles.boldLabel);
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.LambdaCurveG[Day] = AnimationCurve.Linear(0,570.0f,24,570.0f); }
|
||
|
Target.LambdaCurveG[Day] = EditorGUILayout.CurveField (Target.LambdaCurveG[Day], Color.green, new Rect(0,0,24,1000),GUILayout.MaxWidth (curveWidth-3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.lambda.y.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
// B
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("B", EditorStyles.boldLabel);
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.LambdaCurveB[Day] = AnimationCurve.Linear(0,475.0f,24,475.0f); }
|
||
|
Target.LambdaCurveB[Day] = EditorGUILayout.CurveField (Target.LambdaCurveB[Day], Color.blue, new Rect(0,0,24,1000),GUILayout.MaxWidth (curveWidth-3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.lambda.z.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
EditorGUILayout.Space();
|
||
|
//Rayleigh
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Rayleigh");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.RayCoeffCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f); }
|
||
|
Target.RayCoeffCurve[Day] = EditorGUILayout.CurveField (Target.RayCoeffCurve[Day], curveColor, new Rect(0,1,24,4),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.RayCoeff.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Mie
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Mie");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MieCoeffCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f); }
|
||
|
Target.MieCoeffCurve[Day] = EditorGUILayout.CurveField (Target.MieCoeffCurve[Day], curveColor, new Rect(0,1,24,4),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MieCoeff.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Turbidity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Turbidity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.TurbidityCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f); }
|
||
|
Target.TurbidityCurve[Day] = EditorGUILayout.CurveField (Target.TurbidityCurve[Day], curveColor, new Rect(0,1,24,4),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.Turbidity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//g
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("G");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.gCurve[Day] = AnimationCurve.Linear(0,0.75f,24,0.75f); }
|
||
|
Target.gCurve[Day] = EditorGUILayout.CurveField (Target.gCurve[Day], curveColor, new Rect(0,0,24,1),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.g.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Kr
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Kr");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.KrCurve[Day] = AnimationCurve.Linear(0,8.4f,24,8.4f); }
|
||
|
Target.KrCurve[Day] = EditorGUILayout.CurveField (Target.KrCurve[Day], curveColor, new Rect(0,1,24,19),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.Kr.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Km
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Km");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.KmCurve[Day] = AnimationCurve.Linear(0,1.25f,24,1.25f); }
|
||
|
Target.KmCurve[Day] = EditorGUILayout.CurveField (Target.KmCurve[Day], curveColor, new Rect(0,1,24,19),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.Km.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Altitude
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Altitude");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.AltitudeCurve[Day] = AnimationCurve.Linear(0,0.05f,24,0.05f); }
|
||
|
Target.AltitudeCurve[Day] = EditorGUILayout.CurveField (Target.AltitudeCurve[Day], curveColor, new Rect(0,0,24,0.5f),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.Altitude.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sky Coefficient
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Sky Coefficient");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SkyCoeffCurve[Day] = AnimationCurve.Linear(0,2000.0f,24,2000.0f); }
|
||
|
Target.SkyCoeffCurve[Day] = EditorGUILayout.CurveField (Target.SkyCoeffCurve[Day], curveColor, new Rect(0,1000,24,2000), GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SkyCoeff.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sun Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Sun Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SunIntensityCurve[Day] = AnimationCurve.Linear(0,100.0f,24,100.0f); }
|
||
|
Target.SunIntensityCurve[Day] = EditorGUILayout.CurveField (Target.SunIntensityCurve[Day], curveColor, new Rect(0,25,24,75),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SunIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Moon Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Moon Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MoonIntensityCurve[Day] = AnimationCurve.Linear(0,0.25f,24,0.25f); }
|
||
|
Target.MoonIntensityCurve[Day] = EditorGUILayout.CurveField (Target.MoonIntensityCurve[Day], curveColor, new Rect(0,0,24,1),GUILayout.MaxWidth (curveWidth));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MoonIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//-----------------------------------------//SKY SETTINGS TAB\\------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 129, 18), SkySettingsTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showSkySettings = EditorGUILayout.Toggle (Target.showSkySettings, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideSkySettings);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showSkySettings) {
|
||
|
///Sun///
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Sky", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Exposure
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Exposure");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.ExposureCurve[Day] = AnimationCurve.Linear(0,1.5f,24,1.5f); }
|
||
|
Target.ExposureCurve[Day] = EditorGUILayout.CurveField (Target.ExposureCurve[Day], curveColor, new Rect(0,0.0f,24,5),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.Exposure.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sky Luminance
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Luminance");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SkyLuminanceCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f); }
|
||
|
Target.SkyLuminanceCurve[Day] = EditorGUILayout.CurveField (Target.SkyLuminanceCurve[Day], curveColor, new Rect(0,0,24,2),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SkyLuminance.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sky Darkness
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Darkness");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SkyDarknessCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f); }
|
||
|
Target.SkyDarknessCurve[Day] = EditorGUILayout.CurveField (Target.SkyDarknessCurve[Day], curveColor, new Rect(0,0,24,3.5f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SkyDarkness.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sunset Power
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Sunset Power");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SunsetPowerCurve[Day] = AnimationCurve.Linear(0,3.5f,24,3.5f);}
|
||
|
Target.SunsetPowerCurve[Day] = EditorGUILayout.CurveField (Target.SunsetPowerCurve[Day], curveColor, new Rect(0,1.5f,24,6.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SunsetPower.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sunset Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Sunset Color");
|
||
|
EditorGUILayout.PropertyField(SunsetGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, 1).y-2, 119, 3), GradientTab);
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
|
||
|
// EditorGUILayout.Space ();
|
||
|
// EditorGUILayout.Space ();
|
||
|
|
||
|
///Sun///
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Sun Disk", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sun Disk Color
|
||
|
// EditorGUILayout.BeginHorizontal ();
|
||
|
// GUILayout.Label ("Sun Disk Color");
|
||
|
// EditorGUILayout.PropertyField(SunGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
// EditorGUILayout.EndHorizontal ();
|
||
|
//
|
||
|
// if(Target.showGradientTime)
|
||
|
// GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 119, 3), GradientTab);
|
||
|
|
||
|
//Sun Disk Size
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Size");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SunDiskSizeCurve[Day] = AnimationCurve.Linear(0,250.0f,24,250.0f);}
|
||
|
Target.SunDiskSizeCurve[Day] = EditorGUILayout.CurveField (Target.SunDiskSizeCurve[Day], curveColor, new Rect(0,100.0f,24,750.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SunDiskSize.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sun Disk Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SunDiskIntensityCurve[Day] = AnimationCurve.Linear(0,3.0f,24,3.0f);}
|
||
|
Target.SunDiskIntensityCurve[Day] = EditorGUILayout.CurveField (Target.SunDiskIntensityCurve[Day], curveColor, new Rect(0,2,24,8),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SunDiskIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sun Disk Propagation
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Propagation");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SunDiskPropagationCurve[Day] = AnimationCurve.Linear(0,-1.5f,24,-1.5f);}
|
||
|
Target.SunDiskPropagationCurve[Day] = EditorGUILayout.CurveField (Target.SunDiskPropagationCurve[Day], curveColor, new Rect(0,-10.0f,24,9.25f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SunDiskPropagation.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
|
||
|
// EditorGUILayout.Space ();
|
||
|
// EditorGUILayout.Space ();
|
||
|
|
||
|
///Stars///
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Stars", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Stars Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.StarsIntensityCurve[Day] = AnimationCurve.Linear(0,5.0f,24,5.0f);}
|
||
|
Target.StarsIntensityCurve[Day] = EditorGUILayout.CurveField (Target.StarsIntensityCurve[Day], curveColor, new Rect(0,0.0f,24,10.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.StarsIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Stars Extinction
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Extinction");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.StarsExtinctionCurve[Day] = AnimationCurve.Linear(0,0.5f,24,0.5f);}
|
||
|
Target.StarsExtinctionCurve[Day] = EditorGUILayout.CurveField (Target.StarsExtinctionCurve[Day], curveColor, new Rect(0,0.1f,24,4.9f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.StarsExtinction.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Stars Scintillation
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Sparkle");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.StarsScintillation = 5.5f;}
|
||
|
Target.StarsScintillation = EditorGUILayout.Slider(Target.StarsScintillation,1.0f, 10.0f, GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
|
||
|
// EditorGUILayout.Space ();
|
||
|
// EditorGUILayout.Space ();
|
||
|
|
||
|
///Stars///
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Moon", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Moon Texture Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Color");
|
||
|
EditorGUILayout.PropertyField(MoonGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 119, 3), GradientTab);
|
||
|
|
||
|
//MoonLight Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Bright Color");
|
||
|
EditorGUILayout.PropertyField(MoonBrightGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 119, 3), GradientTab);
|
||
|
|
||
|
//Moon Color Power
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Color Power");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MoonColorPowerCurve[Day] = AnimationCurve.Linear(0,2.15f,24,2.15f);}
|
||
|
Target.MoonColorPowerCurve[Day] = EditorGUILayout.CurveField (Target.MoonColorPowerCurve[Day], curveColor, new Rect(0,1.0f,24,9.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MoonColorPower.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
//Moon Size
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Size");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MoonSizeCurve[Day] = AnimationCurve.Linear(0,5.0f,24,5.0f);}
|
||
|
Target.MoonSizeCurve[Day] = EditorGUILayout.CurveField (Target.MoonSizeCurve[Day], curveColor, new Rect(0,2.5f,24,10.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MoonSize.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Moon Extinction
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Extinction");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MoonExtinctionCurve[Day] = AnimationCurve.Linear(0,0.5f,24,0.5f);}
|
||
|
Target.MoonExtinctionCurve[Day] = EditorGUILayout.CurveField (Target.MoonExtinctionCurve[Day], curveColor, new Rect(0,0.1f,24,4.9f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MoonExtinction.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
//Moon Eclipse Shadow
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Eclipse?");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MoonEclipseShadow = 1;}
|
||
|
Target.MoonEclipseShadow = EditorGUILayout.IntSlider(Target.MoonEclipseShadow,0, 1, GUILayout.MaxWidth (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Umbra
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Umbra");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.Umbra = 0.95f;}
|
||
|
Target.Umbra = EditorGUILayout.Slider(Target.Umbra,0, 1, GUILayout.MaxWidth (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Umbra Size
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Umbra Size");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.UmbraSize = 0.25f;}
|
||
|
Target.UmbraSize = EditorGUILayout.Slider(Target.UmbraSize,1, 0, GUILayout.MaxWidth (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Penumbra
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Penumbra");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.Penumbra = 3.0f;}
|
||
|
Target.Penumbra = EditorGUILayout.Slider(Target.Penumbra,0, 10, GUILayout.MaxWidth (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Penumbra Size
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Penumbra Size");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.PenumbraSize = 0.5f;}
|
||
|
Target.PenumbraSize = EditorGUILayout.Slider(Target.PenumbraSize,1, 0, GUILayout.MaxWidth (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Penumbra Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Penumbra Color");
|
||
|
Target.PenumbraColor = EditorGUILayout.ColorField(Target.PenumbraColor,GUILayout.MaxWidth (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
|
||
|
// EditorGUILayout.Space ();
|
||
|
// EditorGUILayout.Space ();
|
||
|
|
||
|
///Milky Way///
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Milky Way", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MilkyWayIntensityCurve[Day] = AnimationCurve.Linear(0,0.0f,24,0.0f);}
|
||
|
Target.MilkyWayIntensityCurve[Day] = EditorGUILayout.CurveField (Target.MilkyWayIntensityCurve[Day], curveColor, new Rect(0,0.0f,24,1.5f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MilkyWayIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Power
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Power");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MilkyWayPowerCurve[Day] = AnimationCurve.Linear(0,2.5f,24,2.5f);}
|
||
|
Target.MilkyWayPowerCurve[Day] = EditorGUILayout.CurveField (Target.MilkyWayPowerCurve[Day], curveColor, new Rect(0,1.0f,24,3.0f),GUILayout.Width (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MilkyWayPower.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Positions
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Position:");
|
||
|
//X
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("X:");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MilkyWayPos.x = 0;}
|
||
|
Target.MilkyWayPos.x = EditorGUILayout.Slider(Target.MilkyWayPos.x,0.0f, 360.0f, GUILayout.Width (118));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Y
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Y:");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MilkyWayPos.y = 0;}
|
||
|
Target.MilkyWayPos.y = EditorGUILayout.Slider(Target.MilkyWayPos.y,0.0f, 360.0f, GUILayout.Width (118));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Z
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Z:");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MilkyWayPos.z = 0;}
|
||
|
Target.MilkyWayPos.z = EditorGUILayout.Slider(Target.MilkyWayPos.z,0.0f, 360.0f, GUILayout.Width (118));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
|
||
|
///Ground Color///
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Night Sky Ground Color", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Close Ground Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Close Color");
|
||
|
EditorGUILayout.PropertyField(NightGroundCloseGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 119, 3), GradientTab);
|
||
|
// EditorGUILayout.Space ();
|
||
|
// EditorGUILayout.Space ();
|
||
|
//Far Ground Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Far Color");
|
||
|
EditorGUILayout.PropertyField(NightGroundFarGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 119, 3), GradientTab);
|
||
|
//Far Color Distance
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Distance");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.NightSkyFarColorDistanceCurve[Day] = AnimationCurve.Linear(0,0.5f,24,0.5f);}
|
||
|
Target.NightSkyFarColorDistanceCurve[Day] = EditorGUILayout.CurveField (Target.NightSkyFarColorDistanceCurve[Day], curveColor, new Rect(0,0.0f,24,2.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.NightSkyFarColorDistance.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Far Color Power
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Power");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.NightSkyFarColorPowerCurve[Day] = AnimationCurve.Linear(0,0.25f,24,0.25f);}
|
||
|
Target.NightSkyFarColorPowerCurve[Day] = EditorGUILayout.CurveField (Target.NightSkyFarColorPowerCurve[Day], curveColor, new Rect(0,0.0f,24,0.5f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.NightSkyFarColorPower.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//-----------------------------------------//FOG SETTINGS TAB\\------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 128, 18), FogSettingsTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showFogSettings = EditorGUILayout.Toggle (Target.showFogSettings, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideFogSettings);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showFogSettings) {
|
||
|
//Linear Fog Toogle
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Linear Fog?");
|
||
|
Target.LinearFog = EditorGUILayout.Toggle (Target.LinearFog, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Global Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Global Color");
|
||
|
EditorGUILayout.PropertyField(GlobalFogGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (123));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 123, 3), GradientTab);
|
||
|
//Scattering Fog distance
|
||
|
EditorGUILayout.BeginVertical("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Scattering Fog", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Distance");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.ScatteringFogDistanceCurve[Day] = AnimationCurve.Linear(0,3.0f,24,3.0f); }
|
||
|
Target.ScatteringFogDistanceCurve[Day] = EditorGUILayout.CurveField (Target.ScatteringFogDistanceCurve[Day], curveColor, new Rect(0,0.0f,24,20.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.ScatteringFogDistance.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.EndVertical();
|
||
|
//Blend Point
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Blend Point");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.FogBlendPointCurve[Day] = AnimationCurve.Linear(0,3.0f,24,3.0f); }
|
||
|
Target.FogBlendPointCurve[Day] = EditorGUILayout.CurveField (Target.FogBlendPointCurve[Day], curveColor, new Rect(0,0.0f,24,50.0f),GUILayout.MaxWidth (curveWidth-3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.FogBlendPoint.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Normal Fog
|
||
|
EditorGUILayout.BeginVertical("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Simple Fog", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Distance");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.NormalFogDistanceCurve[Day] = AnimationCurve.Linear(0,10.0f,24,10.0f); }
|
||
|
Target.NormalFogDistanceCurve[Day] = EditorGUILayout.CurveField (Target.NormalFogDistanceCurve[Day], curveColor, new Rect(0,0.0f,24,50.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.NormalFogDistance.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Normal Fog Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Color");
|
||
|
EditorGUILayout.PropertyField(NormalFogGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, 1).y-2, 119, 3), GradientTab);
|
||
|
EditorGUILayout.EndVertical();
|
||
|
//Normal Fog
|
||
|
EditorGUILayout.BeginVertical("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Dense Fog", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Dense Fog Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Color");
|
||
|
EditorGUILayout.PropertyField(DenseFogGradientColor.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 119, 3), GradientTab);
|
||
|
//"Dense Fog" Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.DenseFogIntensityCurve[Day] = AnimationCurve.Linear(0,0.0f,24,0.0f); }
|
||
|
Target.DenseFogIntensityCurve[Day] = EditorGUILayout.CurveField (Target.DenseFogIntensityCurve[Day], curveColor, new Rect(0,0.0f,24,1.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.DenseFogIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//"Dense Fog" Altitude
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Altitude");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.DenseFogAltitudeCurve[Day] = AnimationCurve.Linear(0,-0.8f,24,-0.8f); }
|
||
|
Target.DenseFogAltitudeCurve[Day] = EditorGUILayout.CurveField (Target.DenseFogAltitudeCurve[Day], curveColor, new Rect(0,-1.0f,24,2.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.DenseFogAltitude.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.EndVertical();
|
||
|
|
||
|
|
||
|
//Normal Fog
|
||
|
EditorGUILayout.BeginVertical("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Unity's Fog", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Use Unity's Fog?");
|
||
|
Target.UseUnityFog = EditorGUILayout.Toggle (Target.UseUnityFog, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if (Target.UseUnityFog) {
|
||
|
if (RenderSettings.fog == false) {
|
||
|
RenderSettings.fog = true;
|
||
|
}
|
||
|
//Unity' Fog Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Fog Color");
|
||
|
EditorGUILayout.PropertyField (UnityFogGradientColor.GetArrayElementAtIndex (Day), GUIContent.none, GUILayout.Width (123));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Fog Mode
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Fog Mode");
|
||
|
Target.UnityFogModeIndex = EditorGUILayout.Popup (Target.UnityFogModeIndex, unityFogMode, GUILayout.Width (123));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
switch (Target.UnityFogModeIndex) {
|
||
|
case 0:
|
||
|
RenderSettings.fogMode = FogMode.Linear;
|
||
|
//Start
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Start");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {
|
||
|
Target.UnityFogStartCurve [Day] = AnimationCurve.Linear (0, 0.0f, 24, 0.0f);
|
||
|
}
|
||
|
Target.UnityFogStartCurve [Day] = EditorGUILayout.CurveField (Target.UnityFogStartCurve [Day], curveColor, new Rect (0, 0.0f, 24, 1000.0f), GUILayout.MaxWidth (curveWidth - 7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.UnityFogStart.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//End
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("End");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {
|
||
|
Target.UnityFogEndCurve [Day] = AnimationCurve.Linear (0, 300.0f, 24, 300.0f);
|
||
|
}
|
||
|
Target.UnityFogEndCurve [Day] = EditorGUILayout.CurveField (Target.UnityFogEndCurve [Day], curveColor, new Rect (0, 0.0f, 24, 10000.0f), GUILayout.MaxWidth (curveWidth - 7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.UnityFogEnd.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
break;
|
||
|
case 1:
|
||
|
RenderSettings.fogMode = FogMode.Exponential;
|
||
|
//Density
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Density");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {
|
||
|
Target.UnityFogDensityCurve [Day] = AnimationCurve.Linear (0, 1.0f, 24, 1.0f);
|
||
|
}
|
||
|
Target.UnityFogDensityCurve [Day] = EditorGUILayout.CurveField (Target.UnityFogDensityCurve [Day], curveColor, new Rect (0, 0.0f, 24, 100.0f), GUILayout.MaxWidth (curveWidth - 7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.UnityFogDensity.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
break;
|
||
|
case 2:
|
||
|
RenderSettings.fogMode = FogMode.ExponentialSquared;
|
||
|
//Density
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Density");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {
|
||
|
Target.UnityFogDensityCurve [Day] = AnimationCurve.Linear (0, 1.0f, 24, 1.0f);
|
||
|
}
|
||
|
Target.UnityFogDensityCurve [Day] = EditorGUILayout.CurveField (Target.UnityFogDensityCurve [Day], curveColor, new Rect (0, 0.0f, 24, 100.0f), GUILayout.MaxWidth (curveWidth - 7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.UnityFogDensity.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
break;
|
||
|
}
|
||
|
} else {
|
||
|
if (RenderSettings.fog == true) {
|
||
|
RenderSettings.fog = false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
EditorGUILayout.EndVertical();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//---------------------------------------//CLOUD SETTINGS TAB\\------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 150, 18), CloudSettingsTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showCloudSettings = EditorGUILayout.Toggle (Target.showCloudSettings, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideCloudSettings);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showCloudSettings) {
|
||
|
//Cloud Mode
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Cloud Mode");
|
||
|
Target.cloudModeIndex = EditorGUILayout.Popup(Target.cloudModeIndex, cloudMode, GUILayout.Width (123));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
switch (Target.cloudModeIndex) {
|
||
|
case 0:
|
||
|
Target.ChangeShader (0);
|
||
|
break;
|
||
|
///////////////////////
|
||
|
//Pre-Rendered Clouds//
|
||
|
case 1:
|
||
|
Target.ChangeShader (1);
|
||
|
//Edge Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Edge Color");
|
||
|
EditorGUILayout.PropertyField (EdgeColorGradientColor.GetArrayElementAtIndex (Day), GUIContent.none, GUILayout.Width (123));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if (Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width - 89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y - 2, 123, 3), GradientTab);
|
||
|
//Dark Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Dark Color");
|
||
|
EditorGUILayout.PropertyField (DarkColorGradientColor.GetArrayElementAtIndex (Day), GUIContent.none, GUILayout.Width (123));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if (Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width - 89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y - 2, 123, 3), GradientTab);
|
||
|
//Cloud Density
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Density");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {
|
||
|
Target.CloudDensityCurve [Day] = AnimationCurve.Linear (0, 1.0f, 24, 1.0f);
|
||
|
}
|
||
|
Target.CloudDensityCurve [Day] = EditorGUILayout.CurveField (Target.CloudDensityCurve [Day], curveColor, new Rect (0, 0.0f, 24, 5.0f), GUILayout.MaxWidth (curveWidth -3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.CloudDensity.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Cloud Extinction
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Extinction");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {
|
||
|
Target.CloudExtinctionCurve [Day] = AnimationCurve.Linear (0, 3.0f, 24, 3.0f);
|
||
|
}
|
||
|
Target.CloudExtinctionCurve [Day] = EditorGUILayout.CurveField (Target.CloudExtinctionCurve [Day], curveColor, new Rect (0, 1.0f, 24, 9.0f), GUILayout.MaxWidth (curveWidth - 3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.CloudExtinction.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Alpha Saturation
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Alpha");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {Target.AlphaSaturationCurve [Day] = AnimationCurve.Linear (0, 2.0f, 24, 2.0f);}
|
||
|
Target.AlphaSaturationCurve [Day] = EditorGUILayout.CurveField (Target.AlphaSaturationCurve [Day], curveColor, new Rect (0, 1.0f, 24, 4.0f), GUILayout.MaxWidth (curveWidth - 3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.AlphaSaturation.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Cloud Altitude
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Altitude");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {Target.PreRenderedCloudAltitudeCurve [Day] = AnimationCurve.Linear (0, 0.05f, 24, 0.05f);}
|
||
|
Target.PreRenderedCloudAltitudeCurve [Day] = EditorGUILayout.CurveField (Target.PreRenderedCloudAltitudeCurve [Day], curveColor, new Rect (0, 0, 24, 0.5f), GUILayout.MaxWidth (curveWidth - 3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.PreRenderedCloudAltitude.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space ();
|
||
|
GUILayout.Label ("Moon Bright", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Moon Bright Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MoonBrightIntensityCurve[Day] = AnimationCurve.Linear(0,3.0f,24,3.0f);}
|
||
|
Target.MoonBrightIntensityCurve[Day] = EditorGUILayout.CurveField (Target.MoonBrightIntensityCurve[Day], curveColor, new Rect(0,1.0f,24,6.5f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MoonBrightIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Moon Bright Range
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Range");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MoonBrightRangeCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f);}
|
||
|
Target.MoonBrightRangeCurve[Day] = EditorGUILayout.CurveField (Target.MoonBrightRangeCurve[Day], curveColor, new Rect(0,1.0f,24,4.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MoonBrightRange.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
|
||
|
break;
|
||
|
/////////////////////
|
||
|
//Procedural Clouds//
|
||
|
case 2:
|
||
|
Target.ChangeShader (2);
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space ();
|
||
|
GUILayout.Label ("Wispy Clouds", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
//Wispy Covarage
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Covarage");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {
|
||
|
Target.WispyCovarageCurve [Day] = AnimationCurve.Linear (0, 0.0f, 24, 0.0f);
|
||
|
}
|
||
|
Target.WispyCovarageCurve [Day] = EditorGUILayout.CurveField (Target.WispyCovarageCurve [Day], curveColor, new Rect (0, 0.0f, 24, 10.0f), GUILayout.MaxWidth (curveWidth - 7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.WispyCovarage.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Wispy Speed
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Speed");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width (18), GUILayout.Height (15))) {
|
||
|
Target.WispyCloudSpeedCurve [Day] = AnimationCurve.Linear (0, 5.0f, 24, 5.0f);
|
||
|
}
|
||
|
Target.WispyCloudSpeedCurve [Day] = EditorGUILayout.CurveField (Target.WispyCloudSpeedCurve [Day], curveColor, new Rect (0, 0.0f, 24, 20.0f), GUILayout.MaxWidth (curveWidth - 7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.WispyCloudSpeed.ToString (), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Cloud Direction
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Direction");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.StarsScintillation = 0.0f;}
|
||
|
Target.WispyCloudDirection = EditorGUILayout.Slider(Target.WispyCloudDirection,0.0f, 3.0f, GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
//Dark Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Darkness Color");
|
||
|
EditorGUILayout.PropertyField (WispyDarknessGradientColor.GetArrayElementAtIndex (Day), GUIContent.none, GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if (Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width - 89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y - 2, 119, 3), GradientTab);
|
||
|
//Bright Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Bright Color");
|
||
|
EditorGUILayout.PropertyField (WispyBrightGradientColor.GetArrayElementAtIndex (Day), GUIContent.none, GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if (Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width - 89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y - 2, 119, 3), GradientTab);
|
||
|
//Wispy Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Wispy Color");
|
||
|
EditorGUILayout.PropertyField (WispyColorGradientColor.GetArrayElementAtIndex (Day), GUIContent.none, GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if (Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width - 89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y - 2, 119, 3), GradientTab);
|
||
|
//Wispy Texture
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Wispy Texture");
|
||
|
Target.WispyCloudTexture = EditorGUILayout.ObjectField (Target.WispyCloudTexture, typeof(Texture2D), true, GUILayout.Width (119), GUILayout.Height (119)) as Texture2D;
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
|
||
|
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//--------------------------------------------//AMBIENT TAB\\--------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 80, 18), AmbientTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showAmbient = EditorGUILayout.Toggle (Target.showAmbient, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideAmbient);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showAmbient) {
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space ();
|
||
|
GUILayout.Label ("Ambient", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Ambient Source
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Source");
|
||
|
Target.ambientSourceIndex = EditorGUILayout.Popup(Target.ambientSourceIndex, ambientSource, GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Ambient Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.AmbientIntensityCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f);}
|
||
|
Target.AmbientIntensityCurve[Day] = EditorGUILayout.CurveField (Target.AmbientIntensityCurve[Day], curveColor, new Rect(0,0,24,8.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.AmbientIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
switch (Target.ambientSourceIndex){
|
||
|
case 0:
|
||
|
RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Skybox;
|
||
|
break;
|
||
|
case 1:
|
||
|
RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Trilight;
|
||
|
//Sky Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Sky Color");
|
||
|
EditorGUILayout.PropertyField(SkyAmbientColorGradient.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 119, 3), GradientTab);
|
||
|
|
||
|
//Equator Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Equator Color");
|
||
|
EditorGUILayout.PropertyField(EquatorAmbientColorGradient.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, -1).y-2, 119, 3), GradientTab);
|
||
|
|
||
|
//Ground Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Ground Color");
|
||
|
EditorGUILayout.PropertyField(GroundAmbientColorGradient.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, 1).y-2, 119, 3), GradientTab);
|
||
|
|
||
|
break;
|
||
|
case 2:
|
||
|
RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Flat;
|
||
|
|
||
|
//Ambient Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Ambient Color");
|
||
|
EditorGUILayout.PropertyField(AmbientColorGradient.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-89, GUILayoutUtility.GetRect (bgRect.width + offset, 1).y-2, 119, 3), GradientTab);
|
||
|
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space ();
|
||
|
GUILayout.Label ("Reflections", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Reflection Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.ReflectionIntensityCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f);}
|
||
|
Target.ReflectionIntensityCurve[Day] = EditorGUILayout.CurveField (Target.ReflectionIntensityCurve[Day], curveColor, new Rect(0,0,24,1.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.ReflectionIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Reflection Bounces
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Bounces");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.ReflectionBouncesCurve[Day] = AnimationCurve.Linear(0,1,24,1);}
|
||
|
Target.ReflectionBouncesCurve[Day] = EditorGUILayout.CurveField (Target.ReflectionBouncesCurve[Day], curveColor, new Rect(0,1,24,4),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.ReflectionBounces.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
|
||
|
//Reflection
|
||
|
if (Target.useReflectionProbe)
|
||
|
{
|
||
|
EditorGUILayout.BeginVertical ("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space ();
|
||
|
GUILayout.Label ("Reflection Probe", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
//Culling Mask
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Culling Mask");
|
||
|
EditorGUILayout.PropertyField(ReflectionProbeCullingMask, GUIContent.none,GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
//Time Slicing
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Time Slicing");
|
||
|
Target.ReflectionProbeTimeSlicing = EditorGUILayout.Popup (Target.ReflectionProbeTimeSlicing, reflectionTimeSlicing, GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
switch (Target.ReflectionProbeTimeSlicing) {
|
||
|
case 0:
|
||
|
Target.AzureReflectionProbe.timeSlicingMode = UnityEngine.Rendering.ReflectionProbeTimeSlicingMode.AllFacesAtOnce;
|
||
|
break;
|
||
|
case 1:
|
||
|
Target.AzureReflectionProbe.timeSlicingMode = UnityEngine.Rendering.ReflectionProbeTimeSlicingMode.IndividualFaces;
|
||
|
break;
|
||
|
case 2:
|
||
|
Target.AzureReflectionProbe.timeSlicingMode = UnityEngine.Rendering.ReflectionProbeTimeSlicingMode.NoTimeSlicing;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
//Refresh Mode
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Refresh Mode");
|
||
|
Target.ReflectionProbeRefreshMode = EditorGUILayout.Popup (Target.ReflectionProbeRefreshMode, reflectionRefreshMode, GUILayout.Width (119));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
switch (Target.ReflectionProbeRefreshMode) {
|
||
|
case 0:
|
||
|
Target.AzureReflectionProbe.refreshMode = UnityEngine.Rendering.ReflectionProbeRefreshMode.OnAwake;
|
||
|
break;
|
||
|
case 1:
|
||
|
Target.AzureReflectionProbe.refreshMode = UnityEngine.Rendering.ReflectionProbeRefreshMode.EveryFrame;
|
||
|
break;
|
||
|
case 2:
|
||
|
Target.AzureReflectionProbe.refreshMode = UnityEngine.Rendering.ReflectionProbeRefreshMode.ViaScripting;
|
||
|
//Refresh Mode
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Time to Refresh");
|
||
|
Target.ReflectionProbeTimeToUpdate = EditorGUILayout.FloatField(Target.ReflectionProbeTimeToUpdate, GUILayout.Width (119)) ;
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Force Update at First Frame?
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Force update at first frame?");
|
||
|
Target.ForceProbeUpdateAtFirstFrame = EditorGUILayout.Toggle (Target.ForceProbeUpdateAtFirstFrame, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
EditorGUILayout.Space ();
|
||
|
break;
|
||
|
}
|
||
|
//Reflection Probe Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.ReflectionProbeIntensityCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f);}
|
||
|
Target.ReflectionProbeIntensityCurve[Day] = EditorGUILayout.CurveField (Target.ReflectionProbeIntensityCurve[Day], curveColor, new Rect(0,0,24,8.0f),GUILayout.MaxWidth (curveWidth-7));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.ReflectionProbeIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
//Reflection Probe Size
|
||
|
Target.ReflectionProbeSize = EditorGUILayout.Vector3Field("Size", Target.ReflectionProbeSize);
|
||
|
Target.AzureReflectionProbe.size = Target.ReflectionProbeSize;
|
||
|
|
||
|
EditorGUILayout.EndVertical ();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//-------------------------------------------//LIGHTING TAB\\--------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 82, 18), LightingTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showLighting = EditorGUILayout.Toggle (Target.showLighting, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideLighting);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showLighting) {
|
||
|
//Sun Directional Light Intensity
|
||
|
EditorGUILayout.BeginVertical("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Sun Directional Light", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SunDirLightIntensityCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f);}
|
||
|
Target.SunDirLightIntensityCurve[Day] = EditorGUILayout.CurveField (Target.SunDirLightIntensityCurve[Day], curveColor, new Rect(0,0,24,8.0f),GUILayout.MaxWidth (curveWidth-3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SunDirLightIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Color");
|
||
|
EditorGUILayout.PropertyField(SunDirLightColorGradient.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (123));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-93, GUILayoutUtility.GetRect (bgRect.width + offset, 1).y-2, 123, 3), GradientTab);
|
||
|
|
||
|
//Flare Curve
|
||
|
if (Target.UseSunLensFlare) {
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Flare Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.SunFlareIntensityCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f);}
|
||
|
Target.SunFlareIntensityCurve[Day] = EditorGUILayout.CurveField (Target.SunFlareIntensityCurve[Day], curveColor, new Rect(0,0,24,8.0f),GUILayout.MaxWidth (curveWidth-3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.SunFlareIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
}
|
||
|
EditorGUILayout.EndVertical();
|
||
|
//Moon Directional Light Intensity
|
||
|
EditorGUILayout.BeginVertical("Box");
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Moon Directional Light", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Intensity
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Intensity");
|
||
|
if (GUILayout.Button ("R", GUILayout.Width(18), GUILayout.Height(15))) { Target.MoonDirLightIntensityCurve[Day] = AnimationCurve.Linear(0,1.0f,24,1.0f);}
|
||
|
Target.MoonDirLightIntensityCurve[Day] = EditorGUILayout.CurveField (Target.MoonDirLightIntensityCurve[Day], curveColor, new Rect(0,0,24,8.0f),GUILayout.Width (curveWidth-3));
|
||
|
if (Target.showCurveValue)
|
||
|
GUILayout.TextField (Target.MoonDirLightIntensity.ToString(), GUILayout.Width (curveValueWidth));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Color");
|
||
|
EditorGUILayout.PropertyField(MoonDirLightColorGradient.GetArrayElementAtIndex(Day), GUIContent.none,GUILayout.Width (123));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
if(Target.showGradientTime)
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-93, GUILayoutUtility.GetRect (bgRect.width + offset, 1).y-2, 123, 3), GradientTab);
|
||
|
|
||
|
EditorGUILayout.EndVertical();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//-------------------------------------------//TEXTURES TAB\\--------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 94, 18), TexturesTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showTextures = EditorGUILayout.Toggle (Target.showTextures, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideTextures);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showTextures) {
|
||
|
//Moon Texture
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Moon (RenderTexture)");
|
||
|
Target.MoonTexture = (RenderTexture)EditorGUILayout.ObjectField(Target.MoonTexture,typeof(RenderTexture),true,GUILayout.Width(60),GUILayout.Height(60));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Star Field Cubemap
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Star Field (Cubemap)");
|
||
|
Target.StarField = (Cubemap)EditorGUILayout.ObjectField(Target.StarField,typeof(Cubemap),true,GUILayout.Width(60),GUILayout.Height(60));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Star Noise Cubemap
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Star Noise (Cubemap)");
|
||
|
Target.StarNoise = (Cubemap)EditorGUILayout.ObjectField(Target.StarNoise,typeof(Cubemap),true,GUILayout.Width(60),GUILayout.Height(60));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Milky Way Cubemap
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Milky Way (Cubemap)");
|
||
|
Target.MilkyWay = (Cubemap)EditorGUILayout.ObjectField(Target.MilkyWay,typeof(Cubemap),true,GUILayout.Width(60),GUILayout.Height(60));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.Space();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//--------------------------------------------//OPTIONS TAB\\--------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 79, 18), OptionsTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showOptions = EditorGUILayout.Toggle (Target.showOptions, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideOptions);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showOptions) {
|
||
|
//Sky Options
|
||
|
EditorGUILayout.BeginVertical("Box");
|
||
|
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Sky Options", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sky Update?
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Sky Update?");
|
||
|
Target.skyUpdate = EditorGUILayout.Toggle (Target.skyUpdate, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Sky HDR?
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("HDR Sky?");
|
||
|
Target.SkyHDR = EditorGUILayout.Toggle (Target.SkyHDR, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Use Sun Lens Flare?
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Use Sun Lens Flare?");
|
||
|
Target.UseSunLensFlare = EditorGUILayout.Toggle (Target.UseSunLensFlare, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Use Reflection Probe?
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Use Reflection Probe?");
|
||
|
Target.useReflectionProbe = EditorGUILayout.Toggle (Target.useReflectionProbe, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
if (Target.useReflectionProbe) {
|
||
|
Target.AzureReflectionProbe.gameObject.SetActive (true);
|
||
|
} else {
|
||
|
Target.AzureReflectionProbe.gameObject.SetActive (false);
|
||
|
}
|
||
|
//Space Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Space Color");
|
||
|
Target.SpaceColorIndex = EditorGUILayout.Popup(Target.SpaceColorIndex, spaceColor, GUILayout.Width(127));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
switch(Target.SpaceColorIndex)
|
||
|
{
|
||
|
case 0:
|
||
|
Target.ColorCorrection = 1.0f;
|
||
|
Target.WispyColorCorrection = 2.2f;
|
||
|
break;
|
||
|
case 1:
|
||
|
Target.ColorCorrection = 2.2f;
|
||
|
Target.WispyColorCorrection = 1.0f;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
EditorGUILayout.EndVertical();
|
||
|
|
||
|
//Editor Options
|
||
|
EditorGUILayout.BeginVertical("Box");
|
||
|
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
EditorGUILayout.Space();
|
||
|
GUILayout.Label ("Editor Options", EditorStyles.miniLabel);
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//Gradient Time Marker?
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Gradient Time Markers?");
|
||
|
Target.showGradientTime = EditorGUILayout.Toggle (Target.showGradientTime, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
//show Curve Value?
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label ("Show Current Curve Value?");
|
||
|
Target.showCurveValue = EditorGUILayout.Toggle (Target.showCurveValue, GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
// Curve Color
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("Curve Color");
|
||
|
Target.CurveColorField = EditorGUILayout.ColorField(Target.CurveColorField,GUILayout.Width(127));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
|
||
|
EditorGUILayout.EndVertical();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
//=======================================================================================================
|
||
|
//--------------------------------------------//OUTPUT TAB\\---------------------------------------------
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y, bgRect.width + offset, 14), tab);
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x+1, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-4, 74, 18), OutputTab);
|
||
|
EditorGUILayout.BeginHorizontal ();
|
||
|
GUILayout.Label("");
|
||
|
Target.showOutput = EditorGUILayout.Toggle (Target.showOutput, EditorStyles.foldout,GUILayout.Width(15));
|
||
|
EditorGUILayout.EndHorizontal ();
|
||
|
GUI.DrawTexture (new Rect (bgRect.width-26, GUILayoutUtility.GetRect (bgRect.width + offset, -3).y-16, 58, 14), ShowHideOutput);
|
||
|
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
if (Target.showOutput) {
|
||
|
//Output Values
|
||
|
// serializedObject.Update();
|
||
|
EditorGUILayout.Space();
|
||
|
reorderCurveList.DoLayoutList();
|
||
|
EditorGUILayout.Space();
|
||
|
reorderGradientList.DoLayoutList ();
|
||
|
// serializedObject.ApplyModifiedProperties();
|
||
|
}
|
||
|
GUI.DrawTexture (new Rect (GUILayoutUtility.GetRect (bgRect.width + offset, 2).x, GUILayoutUtility.GetRect (bgRect.width + offset, 2).y, bgRect.width + offset, 2), tab);
|
||
|
EditorGUILayout.Space ();
|
||
|
EditorGUILayout.Space ();
|
||
|
|
||
|
//=======================================================================================================
|
||
|
//-------------------------------------------------------------------------------------------------------
|
||
|
// Refresh the Inspector
|
||
|
serObj.ApplyModifiedProperties ();
|
||
|
serializedObject.ApplyModifiedProperties();
|
||
|
EditorUtility.SetDirty(target);
|
||
|
}
|
||
|
}
|