diff options
Diffstat (limited to 'Assets/Plugins/Editor/AdvancedInspector/FieldEditors/GradientEditor.cs')
-rw-r--r-- | Assets/Plugins/Editor/AdvancedInspector/FieldEditors/GradientEditor.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Assets/Plugins/Editor/AdvancedInspector/FieldEditors/GradientEditor.cs b/Assets/Plugins/Editor/AdvancedInspector/FieldEditors/GradientEditor.cs new file mode 100644 index 00000000..09910618 --- /dev/null +++ b/Assets/Plugins/Editor/AdvancedInspector/FieldEditors/GradientEditor.cs @@ -0,0 +1,36 @@ +using UnityEngine; +using UnityEditor; +using System; +using System.Collections; +using System.Reflection; + +namespace AdvancedInspector +{ + public class GradientEditor : FieldEditor + { + private static MethodInfo gradientField; + + public GradientEditor() + { + // Because Unity does not expose this EditorGUI. + gradientField = typeof(EditorGUILayout).GetMethod("GradientField", BindingFlags.NonPublic | BindingFlags.Static, null, new Type[] { typeof(Gradient), typeof(GUILayoutOption).MakeArrayType() }, null); + } + + public override Type[] EditedTypes + { + get { return new Type[] { typeof(Gradient) }; } + } + + public override void Draw(InspectorField field, GUIStyle style) + { + object value = GetValue(field); + + try + { + //Always throw "ExitGUIException" + gradientField.Invoke(null, new object[] { value, null }); + } + catch (Exception) { } + } + } +}
\ No newline at end of file |