- CreaseShadingEditor.cs
- ImageEffects /
- Editor /
- Assets /
- project /
1 using System;
2 using UnityEditor;
3 using UnityEditor.AnimatedValues;
4 using UnityEngine;
5
6 namespace UnityStandardAssets.ImageEffects
7 {
8 [CustomEditor(typeof(CreaseShading))]
9 class CreaseShadingEditor : Editor {
10 SerializedObject serObj;
11
12 SerializedProperty m_intensity;
13 SerializedProperty m_softness;
14 SerializedProperty m_spread;
15
16 AnimBool m_showSoftnessWarning = new AnimBool();
17 AnimBool m_showSpreadWarning = new AnimBool();
18
19 private bool softnessWarningValue { get { return m_softness.intValue > 4; } }
20 private bool spreadWarningValue { get { return m_spread.floatValue > 4; } }
21
22 void OnEnable () {
23 serObj = new SerializedObject (target);
24
25 m_intensity = serObj.FindProperty("intensity");
26 m_softness = serObj.FindProperty("softness");
27 m_spread = serObj.FindProperty("spread");
28
29 m_showSoftnessWarning.valueChanged.AddListener(Repaint);
30 m_showSpreadWarning.valueChanged.AddListener(Repaint);
31
32 m_showSoftnessWarning.value = softnessWarningValue;
33 m_showSpreadWarning.value = spreadWarningValue;
34 }
35
36 public override void OnInspectorGUI () {
37 serObj.Update ();
38
39 EditorGUILayout.Slider(m_intensity, -5.0f, 5.0f, new GUIContent("Intensity"));
40
41 EditorGUILayout.IntSlider(m_softness, 0, 15, new GUIContent("Softness"));
42 m_showSoftnessWarning.target = softnessWarningValue;
43 if (EditorGUILayout.BeginFadeGroup(m_showSoftnessWarning.faded))
44 {
45 EditorGUILayout.HelpBox("High Softness value might reduce performance.", MessageType.Warning, false);
46 }
47 EditorGUILayout.EndFadeGroup();
48
49 EditorGUILayout.Slider(m_spread, 0.0f, 50.0f, new GUIContent("Spread"));
50 m_showSpreadWarning.target = spreadWarningValue;
51 if (EditorGUILayout.BeginFadeGroup(m_showSpreadWarning.faded))
52 {
53 EditorGUILayout.HelpBox("High Spread value might introduce visual artifacts.", MessageType.Warning, false);
54 }
55 EditorGUILayout.EndFadeGroup();
56
57 serObj.ApplyModifiedProperties ();
58 }
59 }
60 }
2 using UnityEditor;
3 using UnityEditor.AnimatedValues;
4 using UnityEngine;
5
6 namespace UnityStandardAssets.ImageEffects
7 {
8 [CustomEditor(typeof(CreaseShading))]
9 class CreaseShadingEditor : Editor {
10 SerializedObject serObj;
11
12 SerializedProperty m_intensity;
13 SerializedProperty m_softness;
14 SerializedProperty m_spread;
15
16 AnimBool m_showSoftnessWarning = new AnimBool();
17 AnimBool m_showSpreadWarning = new AnimBool();
18
19 private bool softnessWarningValue { get { return m_softness.intValue > 4; } }
20 private bool spreadWarningValue { get { return m_spread.floatValue > 4; } }
21
22 void OnEnable () {
23 serObj = new SerializedObject (target);
24
25 m_intensity = serObj.FindProperty("intensity");
26 m_softness = serObj.FindProperty("softness");
27 m_spread = serObj.FindProperty("spread");
28
29 m_showSoftnessWarning.valueChanged.AddListener(Repaint);
30 m_showSpreadWarning.valueChanged.AddListener(Repaint);
31
32 m_showSoftnessWarning.value = softnessWarningValue;
33 m_showSpreadWarning.value = spreadWarningValue;
34 }
35
36 public override void OnInspectorGUI () {
37 serObj.Update ();
38
39 EditorGUILayout.Slider(m_intensity, -5.0f, 5.0f, new GUIContent("Intensity"));
40
41 EditorGUILayout.IntSlider(m_softness, 0, 15, new GUIContent("Softness"));
42 m_showSoftnessWarning.target = softnessWarningValue;
43 if (EditorGUILayout.BeginFadeGroup(m_showSoftnessWarning.faded))
44 {
45 EditorGUILayout.HelpBox("High Softness value might reduce performance.", MessageType.Warning, false);
46 }
47 EditorGUILayout.EndFadeGroup();
48
49 EditorGUILayout.Slider(m_spread, 0.0f, 50.0f, new GUIContent("Spread"));
50 m_showSpreadWarning.target = spreadWarningValue;
51 if (EditorGUILayout.BeginFadeGroup(m_showSpreadWarning.faded))
52 {
53 EditorGUILayout.HelpBox("High Spread value might introduce visual artifacts.", MessageType.Warning, false);
54 }
55 EditorGUILayout.EndFadeGroup();
56
57 serObj.ApplyModifiedProperties ();
58 }
59 }
60 }