You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1030 lines
49 KiB
C#
1030 lines
49 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
|
|
[ExecuteInEditMode]
|
|
[CustomEditor(typeof(Suimono.Core.SuimonoObject))]
|
|
public class suimono_object_editor : Editor {
|
|
|
|
int setRename = 0;
|
|
string renName = "";
|
|
|
|
|
|
public override void OnInspectorGUI() {
|
|
|
|
|
|
int localPresetIndex = -1;
|
|
int basePos = 0;
|
|
|
|
Texture logoTex;
|
|
Texture divTex;
|
|
Texture divHorizTex;
|
|
Texture bgPreset;
|
|
Texture bgPresetSt;
|
|
Texture bgPresetNd;
|
|
|
|
Color colorEnabled = new Color(1.0f,1.0f,1.0f,1.0f);
|
|
Color colorDisabled = new Color(1.0f,1.0f,1.0f,0.25f);
|
|
Color colorWarning = new Color(0.9f,0.5f,0.1f,1.0f);
|
|
Color highlightColor2 = new Color(0.7f,1f,0.2f,0.6f);
|
|
Color highlightColor = new Color(1f,0.5f,0f,0.9f);
|
|
|
|
|
|
//load textures
|
|
divHorizTex = Resources.Load("textures/gui_tex_suimono_divhorz") as Texture;
|
|
|
|
logoTex = Resources.Load("textures/gui_tex_suimonologo_i") as Texture;
|
|
divTex = Resources.Load("textures/gui_tex_suimonodiv_i") as Texture;
|
|
bgPreset = Resources.Load("textures/gui_bgpreset_i") as Texture;
|
|
bgPresetSt = Resources.Load("textures/gui_bgpresetSt_i") as Texture;
|
|
bgPresetNd = Resources.Load("textures/gui_bgpresetNd_i") as Texture;
|
|
highlightColor = new Color(0.0f,0.81f,0.9f,0.6f);
|
|
|
|
if (EditorGUIUtility.isProSkin == true){
|
|
divTex = Resources.Load("textures/gui_tex_suimonodiv") as Texture;
|
|
logoTex = Resources.Load("textures/gui_tex_suimonologo") as Texture;
|
|
bgPreset = Resources.Load("textures/gui_bgpreset") as Texture;
|
|
bgPresetSt = Resources.Load("textures/gui_bgpresetSt") as Texture;
|
|
bgPresetNd = Resources.Load("textures/gui_bgpresetNd") as Texture;
|
|
highlightColor = new Color(1f,0.5f,0f,0.9f);
|
|
}
|
|
|
|
|
|
Suimono.Core.SuimonoObject script = (Suimono.Core.SuimonoObject) target;
|
|
Undo.RecordObject(target, "Changed Area Of Effect");
|
|
|
|
|
|
|
|
|
|
if (localPresetIndex == -1) localPresetIndex = script.presetUseIndex;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//SET SCREEN WIDTH
|
|
int setWidth = (int)EditorGUIUtility.currentViewWidth-220;
|
|
if (setWidth < 222) setWidth = 222;
|
|
|
|
//SUIMONO LOGO
|
|
GUIContent buttonText = new GUIContent("");
|
|
GUIStyle buttonStyle = GUIStyle.none;
|
|
Rect rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
int margin = 15;
|
|
|
|
|
|
//start menu
|
|
GUI.contentColor = new Color(1.0f,1.0f,1.0f,0.4f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+2, rt.y+37, 50, 18),"Version");
|
|
GUI.contentColor = new Color(1.0f,1.0f,1.0f,0.6f);
|
|
|
|
Rect linkVerRect = new Rect(rt.x+margin+51, rt.y+37, 90, 18);
|
|
EditorGUI.LabelField(linkVerRect,script.suimonoVersionNumber);
|
|
|
|
GUI.contentColor = new Color(1.0f,1.0f,1.0f,1.0f);
|
|
GUI.contentColor = new Color(1.0f,1.0f,1.0f,0.4f);
|
|
Rect linkHelpRect = new Rect(rt.x+margin+165, rt.y+37, 28, 18);
|
|
Rect linkBugRect = new Rect(rt.x+margin+165+42, rt.y+37, 65, 18);
|
|
Rect linkURLRect = new Rect(rt.x+margin+165+120, rt.y+37, 100, 18);
|
|
|
|
if (Event.current.type == EventType.MouseUp && linkHelpRect.Contains(Event.current.mousePosition)) Application.OpenURL("http://www.tanukidigital.com/forum/");
|
|
if (Event.current.type == EventType.MouseUp && linkBugRect.Contains(Event.current.mousePosition)) Application.OpenURL("http://www.tanukidigital.com/forum/");
|
|
if (Event.current.type == EventType.MouseUp && linkURLRect.Contains(Event.current.mousePosition)) Application.OpenURL("http://www.tanukidigital.com/suimono/");
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+165+30, rt.y+37, 220, 18),"|");
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+165+110, rt.y+37, 220, 18),"|");
|
|
|
|
GUI.contentColor = new Color(1.0f,1.0f,1.0f,0.4f);
|
|
EditorGUI.LabelField(linkHelpRect,"help");
|
|
EditorGUI.LabelField(linkBugRect,"report bug");
|
|
EditorGUI.LabelField(linkURLRect,"tanukidigital.com");
|
|
// end menu
|
|
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,36),logoTex);
|
|
GUILayout.Space(40.0f);
|
|
|
|
|
|
|
|
int tSpace = 0;
|
|
|
|
|
|
// GENERAL SETTINGS
|
|
GUI.contentColor = colorEnabled;
|
|
rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,24),divTex);
|
|
script.showGeneral = EditorGUI.Foldout(new Rect(rt.x+margin+3, rt.y+5, 20, 20), script.showGeneral, "");
|
|
GUI.Label (new Rect(rt.x+margin+10, rt.y+5, 300, 20), new GUIContent ("GENERAL SETTINGS"));
|
|
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,0.0f);
|
|
if (GUI.Button(new Rect(rt.x+margin+10, rt.y+5, 250, 20),"")) script.showGeneral = !script.showGeneral;
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+240, rt.y+6, 80, 18),"Mode");
|
|
script.editorIndex = EditorGUI.Popup(new Rect(rt.x+margin+280, rt.y+6, 100, 18),"",script.editorIndex, script.editorOptions.ToArray());
|
|
if (script.showGeneral){
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+30, 80, 18),"Surface Type");
|
|
script.typeIndex = EditorGUI.Popup(new Rect(rt.x+margin+100, rt.y+30, 145, 18),"",script.typeIndex, script.typeOptions.ToArray());
|
|
|
|
if (script.typeIndex == 0){
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+260, rt.y+30, 80, 18),"Ocean Scale");
|
|
script.oceanScale = EditorGUI.FloatField(new Rect(rt.x+margin+343, rt.y+30, 30, 18),"",script.oceanScale);
|
|
}
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+50, 80, 18),"Surface LOD");
|
|
if (script.enableCustomMesh && script.typeIndex != 0){
|
|
GUI.contentColor = colorWarning;
|
|
GUI.backgroundColor = colorWarning;
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+100, rt.y+50, 275, 18),"NOTE: Not available while using custom mesh!");
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
} else {
|
|
if (script.typeIndex == 0){
|
|
script.lodIndex = 0;
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
if (script.typeIndex == 2){
|
|
script.lodIndex = 3;
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
script.lodIndex = EditorGUI.Popup(new Rect(rt.x+margin+100, rt.y+50, 145, 18),"",script.lodIndex, script.lodOptions.ToArray());
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//ADVANCED FX SETTINGS
|
|
//EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+76,372,1),divHorizTex);
|
|
//EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+80, 260, 18),"ADVANCED FX SETTINGS");
|
|
//EditorGUI.LabelField(new Rect(rt.x+margin+37, rt.y+100, 150, 18),"Enable Underwater FX");
|
|
//script.enableUnderwaterFX = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+100, 30, 18),"", script.enableUnderwaterFX);
|
|
//EditorGUI.LabelField(new Rect(rt.x+margin+220, rt.y+100, 150, 18),"Enable Caustic FX");
|
|
//script.enableCausticFX = EditorGUI.Toggle(new Rect(rt.x+margin+200, rt.y+100, 30, 18),"", script.enableCausticFX);
|
|
|
|
|
|
//SCENE REFLECTIONS
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
basePos = 77;
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+basePos,372,1),divHorizTex);
|
|
script.enableReflections = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+basePos+5, 20, 18),"", script.useEnableReflections);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+31, rt.y+basePos+5, 160, 18),"SCENE REFLECTIONS");
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
if (script.useEnableReflections){
|
|
|
|
script.enableDynamicReflections = EditorGUI.Toggle(new Rect(rt.x+margin+27, rt.y+basePos+28, 20, 18),"", script.useEnableDynamicReflections);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+45, rt.y+basePos+28, 160, 18),"Enable Dynamic Reflections");
|
|
|
|
if (!script.useEnableDynamicReflections){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+27, rt.y+basePos+48, 180, 18),"Reflect Layers");
|
|
if (script.gameObject.activeInHierarchy){
|
|
script.reflectLayer = EditorGUI.MaskField(new Rect(rt.x+margin+120, rt.y+basePos+48, 90, 18),"", script.reflectLayer, script.suiLayerMasks.ToArray());
|
|
}
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+225, rt.y+basePos+48, 180, 18),"Resolution");
|
|
if (script.gameObject.activeInHierarchy){
|
|
script.reflectResolution = EditorGUI.Popup(new Rect(rt.x+margin+295, rt.y+basePos+48, 90, 18),"", script.reflectResolution, script.resOptions.ToArray());
|
|
}
|
|
|
|
//EditorGUI.LabelField(new Rect(rt.x+margin+27, rt.y+basePos+68, 180, 18),"Reflection Distance");
|
|
//script.reflectionDistance = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+basePos+68, setWidth, 18),"",script.reflectionDistance,0.0,100000.0);
|
|
//EditorGUI.LabelField(new Rect(rt.x+margin+27, rt.y+basePos+88, 180, 18),"Reflection Spread");
|
|
//script.reflectionSpread = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+basePos+88, setWidth, 18),"",script.reflectionSpread,0.0,1.0);
|
|
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
if (script.enableDynamicReflections && script.useEnableDynamicReflections){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+27, rt.y+basePos+78, 180, 18),"Fallback Mode");
|
|
if (script.gameObject.activeInHierarchy){
|
|
script.reflectFallback = EditorGUI.Popup(new Rect(rt.x+margin+120, rt.y+basePos+78, 120, 18),"", script.reflectFallback, script.resFallbackOptions.ToArray());
|
|
}
|
|
if (script.reflectFallback == 2){
|
|
script.customRefCubemap = EditorGUI.ObjectField(new Rect(rt.x+margin+250, rt.y+basePos+78, 136, 16), script.customRefCubemap, typeof(Texture), true) as Texture;
|
|
}
|
|
if (script.reflectFallback == 3){
|
|
script.customRefColor = EditorGUI.ColorField(new Rect(rt.x+margin+250, rt.y+basePos+78, 136, 16), script.customRefColor);
|
|
}
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
basePos += 102;
|
|
tSpace += 92;
|
|
|
|
} else {
|
|
basePos += 25;
|
|
}
|
|
|
|
|
|
//TESSELLATION
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+basePos,372,1),divHorizTex);
|
|
script.enableTess = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+basePos+5, 20, 18),"", script.enableTess);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+31, rt.y+basePos+5, 160, 18),"TESSELLATION");
|
|
|
|
if (script.enableTess){
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
#if !UNITY_STANDALONE_OSX
|
|
if (script.typeIndex == 2){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
|
|
|
|
if (!script.enableTess){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
|
|
#endif
|
|
|
|
#if UNITY_STANDALONE_OSX
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
#endif
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+27, rt.y+basePos+25, 140, 18),"Tessellation Factor");
|
|
script.waveTessAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+basePos+25, setWidth, 18),"",script.waveTessAmt,0.001f,100.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+27, rt.y+basePos+45, 140, 18),"Tessellation Start");
|
|
script.waveTessMin = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+basePos+45, setWidth, 18),"",script.waveTessMin,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+27, rt.y+basePos+65, 140, 18),"Tessellation Spread");
|
|
script.waveTessSpread = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+basePos+65, setWidth, 18),"",script.waveTessSpread,0.0f,1.0f);
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
}
|
|
|
|
//dx11 warning messages
|
|
GUI.contentColor = colorWarning;
|
|
GUI.backgroundColor = colorWarning;
|
|
//if (script.unityVersionIndex == 0){
|
|
// EditorGUI.LabelField(new Rect(rt.x+margin+137, rt.y+basePos+5, 260, 18),"NOTE: only available on PC in dx11 mode!");
|
|
//}
|
|
#if UNITY_STANDALONE_OSX
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+137, rt.y+basePos+5, 260, 18),"NOTE: only available on PC in dx11 mode!");
|
|
#endif
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
if (script.enableTess){
|
|
basePos += 95;
|
|
tSpace += 70;
|
|
} else {
|
|
basePos += 25;
|
|
}
|
|
|
|
|
|
|
|
// INTERACTION
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+basePos,372,1),divHorizTex);
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+31, rt.y+basePos+5, 140, 18),"ENABLE INTERACTION");
|
|
script.enableInteraction = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+basePos+5, 20, 18),"", script.enableInteraction);
|
|
basePos += 25;
|
|
|
|
|
|
|
|
// CUSTOM TEXTURES
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+basePos,372,1),divHorizTex);
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+31, rt.y+basePos+5, 140, 18),"CUSTOM TEXTURES");
|
|
script.enableCustomTextures = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+basePos+5, 20, 18),"", script.enableCustomTextures);
|
|
|
|
|
|
if (script.enableCustomTextures){
|
|
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
GUI.Label (new Rect(rt.x+margin+38, rt.y+basePos+86, 100, 18), new GUIContent ("RGBA Normal"));
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
GUI.Label (new Rect(rt.x+margin+34, rt.y+basePos+72, 100, 18), new GUIContent ("Shallow Waves"));
|
|
//GUI.Label (new Rect(rt.x+margin+92, rt.y+basePos+72, 100, 18), new GUIContent ("Height"));
|
|
script.customTexNormal1 = EditorGUI.ObjectField(new Rect(rt.x+margin+34, rt.y+basePos+24, 95, 45), script.customTexNormal1, typeof(Texture2D), true) as Texture2D;
|
|
//script.customTexHeight1 = EditorGUI.ObjectField(new Rect(rt.x+margin+88, rt.y+basePos+24, 45, 45), script.customTexHeight1, typeof(Texture2D), true) as Texture2D;
|
|
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
GUI.Label (new Rect(rt.x+margin+162, rt.y+basePos+86, 100, 18), new GUIContent ("RGBA Normal"));
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
GUI.Label (new Rect(rt.x+margin+152, rt.y+basePos+72, 100, 18), new GUIContent ("Turbulent Waves"));
|
|
//GUI.Label (new Rect(rt.x+margin+211, rt.y+basePos+72, 100, 18), new GUIContent ("Height"));
|
|
script.customTexNormal2 = EditorGUI.ObjectField(new Rect(rt.x+margin+155, rt.y+basePos+24, 95, 45), script.customTexNormal2, typeof(Texture2D), true) as Texture2D;
|
|
//script.customTexHeight2 = EditorGUI.ObjectField(new Rect(rt.x+margin+209, rt.y+basePos+24, 45, 45), script.customTexHeight2, typeof(Texture2D), true) as Texture2D;
|
|
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
GUI.Label (new Rect(rt.x+margin+284, rt.y+basePos+86, 100, 18), new GUIContent ("RGBA Normal"));
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
GUI.Label (new Rect(rt.x+margin+287, rt.y+basePos+72, 100, 18), new GUIContent ("Deep Waves"));
|
|
//GUI.Label (new Rect(rt.x+margin+335, rt.y+basePos+72, 100, 18), new GUIContent ("Height"));
|
|
script.customTexNormal3 = EditorGUI.ObjectField(new Rect(rt.x+margin+277, rt.y+basePos+24, 95, 45), script.customTexNormal3, typeof(Texture2D), true) as Texture2D;
|
|
//script.customTexHeight3 = EditorGUI.ObjectField(new Rect(rt.x+margin+333, rt.y+basePos+24, 45, 45), script.customTexHeight3, typeof(Texture2D), true) as Texture2D;
|
|
|
|
|
|
basePos += 110;
|
|
tSpace += 87;
|
|
} else {
|
|
basePos += 25;
|
|
}
|
|
|
|
|
|
|
|
|
|
// CUSTOM MESH
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+basePos,372,1),divHorizTex);
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+31, rt.y+basePos+5, 140, 18),"CUSTOM MESH");
|
|
script.enableCustomMesh = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+basePos+5, 20, 18),"", script.enableCustomMesh);
|
|
|
|
|
|
if (script.enableCustomMesh){
|
|
|
|
if (script.typeIndex != 0){
|
|
script.customMesh = EditorGUI.ObjectField(new Rect(rt.x+margin+171, rt.y+basePos+8, 200, 18), script.customMesh, typeof(Mesh), true) as Mesh;
|
|
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+41, rt.y+basePos+28, 260, 18),"Custom UV Scaling");
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+170, rt.y+basePos+28, 20, 18),"X:");
|
|
script.cmScaleX = EditorGUI.FloatField(new Rect(rt.x+margin+190, rt.y+basePos+28, 60, 18),"", script.cmScaleX);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+270, rt.y+basePos+28, 20, 18),"Y:");
|
|
script.cmScaleY = EditorGUI.FloatField(new Rect(rt.x+margin+290, rt.y+basePos+28, 60, 18),"", script.cmScaleY);
|
|
|
|
}
|
|
|
|
//infinite ocean warning messages
|
|
GUI.contentColor = colorWarning;
|
|
GUI.backgroundColor = colorWarning;
|
|
if (script.typeIndex == 0){
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+132, rt.y+basePos+5, 260, 18),"NOTE: Not available in Infinite Ocean Mode!");
|
|
}
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
|
|
basePos += 55;
|
|
tSpace += 30;
|
|
} else {
|
|
basePos += 25;
|
|
}
|
|
|
|
|
|
|
|
GUILayout.Space(160.0f+tSpace);
|
|
|
|
|
|
|
|
}
|
|
GUILayout.Space(10.0f);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (script.editorIndex == 1){
|
|
|
|
//WAVE SETTINGS
|
|
rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,24),divTex);
|
|
script.showWaves = EditorGUI.Foldout(new Rect(rt.x+margin+3, rt.y+5, 20, 20), script.showWaves, "");
|
|
GUI.Label (new Rect(rt.x+margin+10, rt.y+5, 300, 20), new GUIContent ("WAVE SETTINGS"));
|
|
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,0.0f);
|
|
if (GUI.Button(new Rect(rt.x+margin+10, rt.y+5, 370, 20),"")) script.showWaves = !script.showWaves;
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,1.0f);
|
|
|
|
if (script.showWaves){
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+30, 140, 18),"Wave Scale (Beaufort)");
|
|
if (!script.customWaves){
|
|
script.beaufortScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+30, setWidth, 18),"",script.beaufortScale,0.0f,12.0f);
|
|
} else {
|
|
GUI.contentColor = colorWarning;
|
|
GUI.backgroundColor = colorWarning;
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+165, rt.y+30, setWidth, 18),"Disabled: Using custom settings!");
|
|
}
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
//if (script.useTenkoku == 1.0 && script.tenkokuUseWind){
|
|
// EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+30, 90, 18),"Flow Direction");
|
|
// GUI.contentColor = colorDisabled;
|
|
// EditorGUI.LabelField(new Rect(rt.x+margin+165, rt.y+30, 290, 18),"Currently using Tenkoku settings...");
|
|
// GUI.contentColor = colorEnabled;
|
|
// EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+50, 90, 18),"Flow Speed");
|
|
// GUI.contentColor = colorDisabled;
|
|
// EditorGUI.LabelField(new Rect(rt.x+margin+165, rt.y+50, 290, 18),"Currently using Tenkoku settings...");
|
|
// GUI.contentColor = colorEnabled;
|
|
//} else {
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+50, 90, 18),"Wave Direction");
|
|
script.flowDirection = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+50, setWidth, 18),"",script.flowDirection,0.0f,360.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+70, 90, 18),"Wave Speed");
|
|
script.flowSpeed = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+70, setWidth, 18),"",script.flowSpeed,0.0f,0.1f);
|
|
|
|
if (script.typeIndex == 0 && !script.customWaves){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+90, 90, 18),"Wave Scale");
|
|
script.waveScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+90, setWidth, 18),"",script.waveScale,0.0f,5.0f);
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+110, 110, 18),"Height Projection");
|
|
script.heightProjection = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+110, setWidth, 18),"",script.heightProjection,0.0f,1.0f);
|
|
//}
|
|
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+135,372,1),divHorizTex);
|
|
|
|
script.customWaves = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+140, 20, 20), "", script.customWaves);
|
|
GUI.Label (new Rect(rt.x+margin+30, rt.y+140, 300, 20), new GUIContent ("Use Custom Settings"));
|
|
if (!script.customWaves){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+160, 90, 18),"Wave Height");
|
|
script.waveHeight = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+160, setWidth, 18),"",script.waveHeight,0.0f,4.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+180, 120, 18),"Turbulence Amount");
|
|
script.turbulenceFactor = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+180, setWidth, 18),"",script.turbulenceFactor,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+200, 120, 18),"Large Wave Height");
|
|
script.lgWaveHeight = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+200, setWidth, 18),"",script.lgWaveHeight,0.0f,4.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+220, 120, 18),"Large Wave Scale");
|
|
script.lgWaveScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+220, setWidth, 18),"",script.lgWaveScale,0.0f,4.0f);
|
|
|
|
GUILayout.Space(220.0f);
|
|
|
|
//} else {
|
|
// GUILayout.Space(110.0);
|
|
//}
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
}
|
|
GUILayout.Space(10.0f);
|
|
|
|
|
|
|
|
|
|
//SHORELINE SETTINGS
|
|
rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,24),divTex);
|
|
script.showShore = EditorGUI.Foldout(new Rect(rt.x+margin+3, rt.y+5, 20, 20), script.showShore, "");
|
|
GUI.Label (new Rect(rt.x+margin+10, rt.y+5, 300, 20), new GUIContent ("SHORELINE SETTINGS"));
|
|
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,0.0f);
|
|
if (GUI.Button(new Rect(rt.x+margin+10, rt.y+5, 370, 20),"")) script.showShore = !script.showShore;
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,1.0f);
|
|
|
|
if (script.showShore){
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+30, 130, 18),"Shoreline Height");
|
|
script.shorelineHeight = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+30, setWidth, 18),"",script.shorelineHeight,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+50, 130, 18),"Shoreline Frequency");
|
|
script.shorelineFreq = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+50, setWidth, 18),"",script.shorelineFreq,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+70, 130, 18),"Shoreline Speed");
|
|
script.shorelineSpeed = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+70, setWidth, 18),"",script.shorelineSpeed,0.0f,10.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+90, 130, 18),"Shoreline Normalize");
|
|
script.shorelineNorm = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+90, setWidth, 18),"",script.shorelineNorm,0.0f,1.0f);
|
|
|
|
|
|
GUILayout.Space(100.0f);
|
|
|
|
}
|
|
GUILayout.Space(10.0f);
|
|
|
|
|
|
|
|
|
|
|
|
// SURFACE SETTINGS
|
|
rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,24),divTex);
|
|
script.showSurface = EditorGUI.Foldout(new Rect(rt.x+margin+3, rt.y+5, 20, 20), script.showSurface, "");
|
|
GUI.Label (new Rect(rt.x+margin+10, rt.y+5, 300, 20), new GUIContent ("WATER SURFACE"));
|
|
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,0.0f);
|
|
if (GUI.Button(new Rect(rt.x+margin+10, rt.y+5, 370, 20),"")) script.showSurface = !script.showSurface;
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,1.0f);
|
|
|
|
if (script.showSurface){
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+30, 140, 18),"Overall Brightness");
|
|
script.overallBright = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+30, setWidth, 18),"",script.overallBright,0.0f,10.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+50, 140, 18),"Overall Transparency");
|
|
script.overallTransparency = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+50, setWidth, 18),"",script.overallTransparency,0.0f,1.0f);
|
|
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+75,372,1),divHorizTex);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+85, 130, 18),"Edge Blending");
|
|
script.edgeAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+85, setWidth, 18),"",script.edgeAmt,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+105, 140, 18),"Depth Absorption");
|
|
script.depthAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+105, setWidth, 18),"",script.depthAmt,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+125, 140, 18),"Shallow Absorption");
|
|
script.shallowAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+125, setWidth, 18),"",script.shallowAmt,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+145, 140, 18),"Depth Color");
|
|
script.depthColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+145, setWidth, 18),"",script.depthColor);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+165, 140, 18),"Shallow Color");
|
|
script.shallowColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+165, setWidth, 18),"",script.shallowColor);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+185, 130, 18),"Surface Blend Color");
|
|
script.blendColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+185, setWidth, 18),"",script.blendColor);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+205, 130, 18),"Surface Overlay Color");
|
|
script.overlayColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+205, setWidth, 18),"",script.overlayColor);
|
|
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+230,372,1),divHorizTex);
|
|
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+240, 130, 18),"Refraction Amount");
|
|
script.refractStrength = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+240, setWidth, 18),"",script.refractStrength,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+260, 130, 18),"Chromatic Shift");
|
|
script.aberrationScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+260, setWidth, 18),"",script.aberrationScale,0.0f,1.0f);
|
|
|
|
if (script.moduleObject != null){
|
|
if (!script.moduleObject.enableCausticsBlending){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
}
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+280, 130, 18),"Caustics Blend");
|
|
script.causticsFade = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+280, setWidth, 18),"",script.causticsFade,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+300, 130, 18),"Caustics Color");
|
|
script.causticsColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+300, setWidth, 18),"",script.causticsColor);
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+325,372,1),divHorizTex);
|
|
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+335, 130, 18),"Reflection Blur");
|
|
script.reflectBlur = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+335, setWidth, 18),"",script.reflectBlur,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+355, 130, 18),"Reflection Distortion");
|
|
script.reflectProjection = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+355, setWidth, 18),"",script.reflectProjection,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+375, 130, 18),"Reflection Term");
|
|
script.reflectTerm = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+375, setWidth, 18),"",script.reflectTerm,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+395, 130, 18),"Reflection Sharpen");
|
|
script.reflectSharpen = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+395, setWidth, 18),"",script.reflectSharpen,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+415, 130, 18),"Reflection Color");
|
|
script.reflectionColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+415, setWidth, 18),"",script.reflectionColor);
|
|
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+440,372,1),divHorizTex);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+450, 140, 18),"Specular Power");
|
|
script.specularPower = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+450, setWidth, 18),"",script.specularPower,0.0001f,1000.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+470, 140, 18),"Hot Specular");
|
|
script.roughness = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+470, setWidth, 18),"",script.roughness,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+490, 140, 18),"Wide Specular");
|
|
script.roughness2 = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+490, setWidth, 18),"",script.roughness2,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+510, 130, 18),"Specular Color");
|
|
script.specularColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+510, setWidth, 18),"",script.specularColor);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+530, 130, 18),"Back Light Scatter");
|
|
script.sssColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+530, setWidth, 18),"",script.sssColor);
|
|
|
|
|
|
|
|
|
|
GUILayout.Space(535.0f);
|
|
}
|
|
GUILayout.Space(10.0f);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// FOAM SETTINGS
|
|
rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,24),divTex);
|
|
script.showFoam = EditorGUI.Foldout(new Rect(rt.x+margin+3, rt.y+5, 20, 20), script.showFoam, "");
|
|
GUI.Label (new Rect(rt.x+margin+10, rt.y+5, 300, 20), new GUIContent ("FOAM SETTINGS"));
|
|
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,0.0f);
|
|
if (GUI.Button(new Rect(rt.x+margin+10, rt.y+5, 370, 20),"")) script.showFoam = !script.showFoam;
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,1.0f);
|
|
|
|
if (script.showFoam){
|
|
|
|
script.enableFoam = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+30, 20, 20),"", script.enableFoam);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+30, rt.y+30, 90, 18),"Enable Foam");
|
|
if (!script.enableFoam){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+50, 90, 18),"Foam Scale");
|
|
script.foamScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+50, setWidth, 18),"",script.foamScale,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+70, 90, 18),"Foam Speed");
|
|
script.foamSpeed = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+70, setWidth, 18),"",script.foamSpeed,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+90, 90, 18),"Foam Color");
|
|
script.foamColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+90, setWidth, 18),"",script.foamColor);
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+115,372,1),divHorizTex);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+125, 90, 18),"Edge Foam");
|
|
script.edgeFoamAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+125, setWidth, 18),"",script.edgeFoamAmt,0.0f,0.9f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+145, 120, 18),"Shoreline Wave Foam");
|
|
script.shallowFoamAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+145, setWidth, 18),"",script.shallowFoamAmt,0.0f,2.0f);
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+170,372,1),divHorizTex);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+180, 90, 18),"Wave Foam");
|
|
script.heightFoamAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+180, setWidth, 18),"",script.heightFoamAmt,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+200, 90, 18),"Wave Height");
|
|
script.hFoamHeight = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+200, setWidth, 18),"",script.hFoamHeight,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+220, 90, 18),"Wave Spread");
|
|
script.hFoamSpread = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+220, setWidth, 18),"",script.hFoamSpread,0.0f,1.0f);
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
GUILayout.Space(220.0f);
|
|
}
|
|
GUILayout.Space(10.0f);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// UNDERWATER SETTINGS
|
|
//if (script.enableUnderwaterFX){
|
|
rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,24),divTex);
|
|
script.showUnderwater = EditorGUI.Foldout(new Rect(rt.x+margin+3, rt.y+5, 20, 20), script.showUnderwater, "");
|
|
GUI.Label (new Rect(rt.x+margin+10, rt.y+5, 300, 20), new GUIContent ("UNDERWATER"));
|
|
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,0.0f);
|
|
if (GUI.Button(new Rect(rt.x+margin+10, rt.y+5, 370, 20),"")) script.showUnderwater = !script.showUnderwater;
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,1.0f);
|
|
|
|
if (script.showUnderwater){
|
|
|
|
//GUI.contentColor = colorDisabled;
|
|
//GUI.backgroundColor = colorDisabled;
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+30, rt.y+30, 120, 18),"Enable Underwater");
|
|
script.enableUnderwater = EditorGUI.Toggle(new Rect(rt.x+margin+10, rt.y+30, 30, 18),"", script.enableUnderwater);
|
|
|
|
if (!script.enableUnderwater){
|
|
GUI.contentColor = colorDisabled;
|
|
GUI.backgroundColor = colorDisabled;
|
|
}
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+190, rt.y+30, 90, 18),"Enable Debris");
|
|
script.enableUnderDebris = EditorGUI.Toggle(new Rect(rt.x+margin+170, rt.y+30, 30, 18),"", script.enableUnderDebris);
|
|
|
|
|
|
//EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+50, 130, 18),"Underwater Depth");
|
|
//script.underwaterDepth = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+50, setWidth, 18),"",script.underwaterDepth,0.0,100.0);
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+55,372,1),divHorizTex);
|
|
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+65, 130, 18),"Light Factor");
|
|
script.underLightFactor = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+65, setWidth, 18),"",script.underLightFactor,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+85, 130, 18),"Refraction Amount");
|
|
script.underRefractionAmount = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+85, setWidth, 18),"",script.underRefractionAmount,0.0f,0.1f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+105, 130, 18),"Refraction Scale");
|
|
script.underRefractionScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+105, setWidth, 18),"",script.underRefractionScale,0.0f,3.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+125, 130, 18),"Refraction Speed");
|
|
script.underRefractionSpeed = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+125, setWidth, 18),"",script.underRefractionSpeed,0.0f,5.0f);
|
|
|
|
// GUI.contentColor = colorDisabled;
|
|
//GUI.backgroundColor = colorDisabled;
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+145, 90, 18),"Blur Amount");
|
|
script.underBlurAmount = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+145, setWidth, 18),"",script.underBlurAmount,0.0f,1.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+165, 170, 18),"Depth Darkening Range");
|
|
script.underDarkRange = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+165, setWidth, 18),"",script.underDarkRange,0.0f,500.0f);
|
|
//GUI.contentColor = colorEnabled;
|
|
//GUI.backgroundColor = colorEnabled;
|
|
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+190,372,1),divHorizTex);
|
|
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+200, 90, 18),"Fog Distance");
|
|
script.underwaterFogDist = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+200, setWidth, 18),"",script.underwaterFogDist,0.0f,500.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+220, 90, 18),"Fog Spread");
|
|
script.underwaterFogSpread = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+220, setWidth, 18),"",script.underwaterFogSpread,-20.0f,20.0f);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+240, 90, 18),"Fog Color");
|
|
script.underwaterColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+240, setWidth, 18),"",script.underwaterColor);
|
|
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
|
|
GUILayout.Space(245.0f);
|
|
//}
|
|
|
|
}
|
|
GUILayout.Space(10.0f);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// SIMPLE SETTINGS
|
|
if (script.editorIndex == 0){
|
|
|
|
rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,24),divTex);
|
|
script.showSimpleEditor = EditorGUI.Foldout(new Rect(rt.x+margin+3, rt.y+5, 20, 20), script.showSimpleEditor, "");
|
|
GUI.Label (new Rect(rt.x+margin+10, rt.y+5, 300, 20), new GUIContent ("SIMPLE WATER SETTINGS"));
|
|
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,0.0f);
|
|
if (GUI.Button(new Rect(rt.x+margin+10, rt.y+5, 370, 20),"")) script.showSimpleEditor = !script.showSimpleEditor;
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,1.0f);
|
|
|
|
//set settings
|
|
//script.flowSpeed = Mathf.Lerp(0.0,0.2,Mathf.Clamp01(script.waveFlowSpeed*20));
|
|
//script.surfaceSmooth = Mathf.Lerp(0.0,1.0,script.simpleWaveHeight);
|
|
//script.detailHeight = Mathf.Lerp(0.0,1.25,Mathf.Clamp(script.simpleWaveHeight*2,0.0,1.0));
|
|
//script.detailScale = 0.1;
|
|
//script.waveHeight = Mathf.Lerp(0.0,3.0,script.simpleWaveHeight);
|
|
|
|
|
|
|
|
if (script.showSimpleEditor){
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+30, 160, 18),"Wave Scale (Beaufort)");
|
|
script.beaufortScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+30, setWidth, 18),"",script.beaufortScale,0.0f,20.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+50, 90, 18),"Wave Direction");
|
|
script.flowDirection = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+50, setWidth, 18),"",script.flowDirection,0.0f,360.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+70, 90, 18),"Flow Speed");
|
|
script.flowSpeed = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+70, setWidth, 18),"",script.flowSpeed,0.0f,0.1f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+90, 90, 18),"Wave Scale");
|
|
script.waveScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+90, setWidth, 18),"",script.waveScale,0.0f,1.0f);
|
|
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+115,372,1),divHorizTex);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+120, 140, 18),"Refraction Amount");
|
|
script.refractStrength = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+120, setWidth, 18),"",script.refractStrength,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+140, 140, 18),"Reflection Distortion");
|
|
script.reflectProjection = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+140, setWidth, 18),"",script.reflectProjection,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+160, 140, 18),"Reflection Color");
|
|
script.reflectionColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+160, setWidth, 18),"",script.reflectionColor);
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+185,372,1),divHorizTex);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+190, 140, 18),"Depth Absorption");
|
|
script.depthAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+190, setWidth, 18),"",script.depthAmt,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+210, 140, 18),"Depth Color");
|
|
script.depthColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+210, setWidth, 18),"",script.depthColor);
|
|
script.shallowColor = new Color(0f,0f,0f,0f);
|
|
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+235,372,1),divHorizTex);
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+240, 90, 18),"Foam Scale");
|
|
script.foamScale = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+240, setWidth, 18),"",script.foamScale,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+260, 90, 18),"Foam Amount");
|
|
script.edgeFoamAmt = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+260, setWidth, 18),"",script.edgeFoamAmt,0.0f,1.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+280, 90, 18),"Foam Color");
|
|
script.foamColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+280, setWidth, 18),"",script.foamColor);
|
|
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+10,rt.y+305,372,1),divHorizTex);
|
|
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+310, 190, 18),"Underwater Refraction");
|
|
script.underRefractionAmount = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+310, setWidth, 18),"",script.underRefractionAmount,0.0f,0.1f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+330, 190, 18),"Underwater Density");
|
|
script.underwaterFogSpread = EditorGUI.Slider(new Rect(rt.x+margin+165, rt.y+330, setWidth, 18),"",script.underwaterFogSpread,-20.0f,20.0f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+10, rt.y+350, 190, 18),"Underwater Depth Color");
|
|
script.underwaterColor = EditorGUI.ColorField(new Rect(rt.x+margin+165, rt.y+350, setWidth, 18),"",script.underwaterColor);
|
|
script.underLightFactor = 1.0f;
|
|
script.underRefractionScale = 0.5f;
|
|
script.underRefractionSpeed = 1.0f;
|
|
script.underwaterFogDist = 15.0f;
|
|
|
|
GUI.contentColor = colorEnabled;
|
|
GUI.backgroundColor = colorEnabled;
|
|
|
|
|
|
GUILayout.Space(355.0f);
|
|
}
|
|
|
|
GUILayout.Space(10.0f);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// PRESET MANAGER
|
|
rt = GUILayoutUtility.GetRect(buttonText, buttonStyle);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin,rt.y,387,24),divTex);
|
|
script.showPresets = EditorGUI.Foldout(new Rect(rt.x+margin+3, rt.y+5, 20, 20), script.showPresets, "");
|
|
GUI.Label (new Rect(rt.x+margin+10, rt.y+5, 300, 20), new GUIContent ("PRESET MANAGER"));
|
|
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,0.0f);
|
|
if (GUI.Button(new Rect(rt.x+margin+10, rt.y+5, 370, 16),"")) script.showPresets = !script.showPresets;
|
|
GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,1.0f);
|
|
|
|
if (script.showPresets){
|
|
|
|
//int presetWidth = Screen.width-78;
|
|
//if (presetWidth < 120) presetWidth = 120;
|
|
int presetWidth = setWidth + 140;
|
|
|
|
//select preset file
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+18, rt.y+24, 110, 18),"Use Preset Folder:");
|
|
script.presetFileIndex = EditorGUI.Popup(new Rect(rt.x+margin+130, rt.y+24, 253, 13),"",script.presetFileIndex, script.presetDirs.ToArray());
|
|
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+18, rt.y+44, 100, 18),"Transition:");
|
|
script.presetTransIndexFrm = EditorGUI.Popup(new Rect(rt.x+margin+85, rt.y+44, 80, 13),"",script.presetTransIndexFrm, script.presetFiles);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+167, rt.y+44, 100, 18),"-->");
|
|
script.presetTransIndexTo = EditorGUI.Popup(new Rect(rt.x+margin+194, rt.y+44, 80, 13),"",script.presetTransIndexTo, script.presetFiles);
|
|
script.presetTransitionTime = EditorGUI.FloatField(new Rect(rt.x+margin+285, rt.y+43, 30, 18),script.presetTransitionTime);
|
|
string transAction = "Start";
|
|
|
|
//if (script.presetStartTransition) transAction = (script.presetTransitionCurrent*script.presetTransitionTime).ToString("F2");//"Stop";
|
|
|
|
if(GUI.Button(new Rect(rt.x+margin+324, rt.y+44, 60, 15), transAction)){
|
|
//script.presetStartTransition = !script.presetStartTransition;
|
|
string foldName = script.presetDirs[script.presetFileIndex];
|
|
string frmName = script.presetFiles[script.presetTransIndexFrm];
|
|
string toName = script.presetFiles[script.presetTransIndexTo];
|
|
script.SuimonoTransitionPreset(foldName,frmName, toName, script.presetTransitionTime);
|
|
}
|
|
|
|
//}
|
|
|
|
|
|
//start presets
|
|
GUI.color = new Color(1f,1f,1f,0.1f);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+20,rt.y+65,presetWidth,5),bgPresetSt); //364
|
|
|
|
//fill presets
|
|
//presetOptions
|
|
int prx = 0;
|
|
for (int pr = 0; pr <= script.presetFiles.Length; pr++){
|
|
prx = pr;
|
|
if (pr > 0){
|
|
//background
|
|
GUI.color = new Color(1f,1f,1f,0.1f);
|
|
if ((pr/2.0f) > Mathf.Floor(pr/2.0f)) GUI.color = new Color(1f,1f,1f,0.13f);
|
|
if (script.presetIndex == pr-1) GUI.color = highlightColor;
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+20,rt.y+70+(pr*13),presetWidth,12),bgPreset); //364
|
|
|
|
|
|
|
|
//rename
|
|
GUI.color = new Color(1f,1f,1f,0.4f);
|
|
if (script.presetIndex == pr-1) GUI.color = highlightColor;
|
|
if (GUI.Button(new Rect(rt.x+margin+21, rt.y+67+(pr*13)+2, 11, 11),"")){
|
|
Debug.Log("rename");
|
|
setRename = (pr+1);
|
|
}
|
|
if (setRename == (pr+1)){
|
|
renName = EditorGUI.TextField(new Rect(rt.x+margin+32, rt.y+69+(pr*13), 200, 14), renName);
|
|
GUI.color = highlightColor2;
|
|
if (GUI.Button(new Rect(rt.x+margin+230, rt.y+69+(pr*13), 30, 14),"OK")){
|
|
setRename = 0;
|
|
script.PresetRename(pr-1,renName);
|
|
renName="";
|
|
|
|
}
|
|
GUI.color = new Color(1f,1f,1f,0.4f);
|
|
if (GUI.Button(new Rect(rt.x+margin+262, rt.y+69+(pr*13), 20, 14),"X")){
|
|
setRename = 0;
|
|
}
|
|
}
|
|
|
|
//add/delete
|
|
GUI.color = new Color(1f,1f,1f,0.35f);
|
|
if (script.presetIndex == pr-1) GUI.color = highlightColor;
|
|
if (GUI.Button(new Rect(rt.x+margin+(presetWidth-35), rt.y+68+(pr*13)+1, 25, 12),"+")) script.PresetSave(script.presetFileIndex,pr-1);
|
|
if (GUI.Button(new Rect(rt.x+margin+(presetWidth-9), rt.y+68+(pr*13)+1, 25, 12),"-")) script.PresetDelete(script.presetFileIndex,pr-1);
|
|
|
|
GUI.color = new Color(1f,1f,1f,1f);
|
|
|
|
|
|
//preset name/button
|
|
if (setRename != (pr+1)){
|
|
GUI.color = new Color(1f,1f,1f,0.75f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+32, rt.y+67+(pr*13), 300, 16), script.presetFiles[pr-1]);
|
|
GUI.color = new Color(1f,1f,1f,0.12f);
|
|
if (GUI.Button(new Rect(rt.x+margin+32, rt.y+67+(pr*13)+2, (presetWidth-72), 13),"")){
|
|
localPresetIndex = pr;
|
|
script.presetIndex = pr-1;
|
|
script.PresetLoad(pr-1);
|
|
}
|
|
}
|
|
|
|
} else {
|
|
|
|
|
|
//background
|
|
GUI.color = new Color(1f,1f,1f,0.1f);
|
|
if ((pr/2.0f) > Mathf.Floor(pr/2.0f)) GUI.color = new Color(1f,1f,1f,0.13f);
|
|
if (script.presetIndex == pr-1) GUI.color = highlightColor;
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+20,rt.y+70+(pr*13),presetWidth,12),bgPreset);
|
|
|
|
//preset name/button
|
|
if (setRename != (pr+1)){
|
|
GUI.color = new Color(1f,1f,1f,0.75f);
|
|
EditorGUI.LabelField(new Rect(rt.x+margin+32, rt.y+67+(pr*13), 300, 16), "- NONE -");
|
|
GUI.color = new Color(0f,0f,0f,0.06f);
|
|
if (GUI.Button(new Rect(rt.x+margin+32, rt.y+67+(pr*13)+2, (presetWidth-15), 13),"")){
|
|
localPresetIndex = 0;
|
|
script.presetIndex = -1;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
//end presets
|
|
GUI.color = new Color(1f,1f,1f,0.1f);
|
|
EditorGUI.DrawPreviewTexture(new Rect(rt.x+margin+20,rt.y+81+((prx-1)*13),presetWidth,23),bgPresetNd);
|
|
|
|
GUI.color = new Color(1f,1f,1f,1f);
|
|
GUI.color = new Color(1f,1f,1f,0.55f);
|
|
if (GUI.Button(new Rect(rt.x+margin+(presetWidth-49), rt.y+86+((prx)*13), 65, 18),"+ NEW")) script.PresetAdd();
|
|
|
|
GUI.color = colorEnabled;
|
|
|
|
|
|
|
|
GUILayout.Space(80.0f+(prx*12f)+10f);
|
|
|
|
}
|
|
GUILayout.Space(10.0f);
|
|
|
|
EditorGUILayout.Space();
|
|
|
|
|
|
|
|
if (GUI.changed) EditorUtility.SetDirty(target);
|
|
}
|
|
|
|
|
|
|
|
} |