1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- using UnityEngine;
- using UnityEditor;
- [CanEditMultipleObjects, CustomEditor(typeof(MegaDynamicRipple))]
- public class MegaDynamicRippleEditor : MegaModifierEditor
- {
- public override string GetHelpString() { return "Dynamic Ripple Modifier by Chris West"; }
- public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
- public override bool Inspector()
- {
- MegaDynamicRipple mod = (MegaDynamicRipple)target;
- #if !UNITY_5 && !UNITY_2017 && !UNITY_2018 && !UNITY_2019 && !UNITY_2020
- EditorGUIUtility.LookLikeControls();
- #endif
- bool dirty = false;
- mod.axis = (MegaAxis)EditorGUILayout.EnumPopup("Axis", mod.axis);
- mod.cols = EditorGUILayout.IntField("Columns", mod.cols);
- if ( mod.cols < 1 )
- mod.cols = 1;
- mod.rows = EditorGUILayout.IntField("Rows", mod.rows);
- if ( mod.rows < 1 )
- mod.rows = 1;
- if ( GUI.changed )
- dirty = true;
- mod.damping = EditorGUILayout.Slider("Damping", mod.damping, 0.0f, 1.0f);
- mod.inputdamp = EditorGUILayout.Slider("Input Damping", mod.inputdamp, 0.0f, 1.0f);
- mod.scale = EditorGUILayout.Slider("Scale", mod.scale, 0.0f, 4.0f);
- mod.speed = EditorGUILayout.Slider("Speed", mod.speed, 0.0f, 0.5f);
- mod.Force = EditorGUILayout.FloatField("Force", mod.Force);
- mod.InputForce = EditorGUILayout.FloatField("InputForce", mod.InputForce);
- mod.Obstructions = EditorGUILayout.BeginToggleGroup("Obstructions", mod.Obstructions);
- bool bilin = EditorGUILayout.Toggle("Bilinear Sample", mod.bilinearSample);
- if ( bilin != mod.bilinearSample )
- {
- mod.bilinearSample = bilin;
- dirty = true;
- }
- Texture2D obtex = (Texture2D)EditorGUILayout.ObjectField("Obstructions", mod.obTexture, typeof(Texture2D), true);
- EditorGUILayout.EndToggleGroup();
- if ( obtex != mod.obTexture )
- {
- mod.obTexture = obtex;
- dirty = true;
- }
- mod.DropsPerSec = EditorGUILayout.FloatField("Drops Per Sec", mod.DropsPerSec);
- if ( mod.DropsPerSec < 0.0f )
- mod.DropsPerSec = 0.0f;
- if ( dirty )
- mod.ResetGrid();
- if ( GUILayout.Button("Reset Physics") )
- mod.ResetGrid();
- return false;
- }
- }
|