12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using UnityEngine;
- using UnityEditor;
- using System.Collections;
- [CustomEditor(typeof(DirtyLensFlare))]
- public class DirtyLensFlareEditor : Editor {
-
- SerializedObject serObj;
- SerializedProperty lensFlareType;
- SerializedProperty useDirt;
- SerializedProperty saturation;
- SerializedProperty flareIntensity;
- SerializedProperty bloomIntensity;
- SerializedProperty threshold;
- SerializedProperty blurSpread;
- SerializedProperty blurIterations;
- SerializedProperty dirtTexture;
- SerializedProperty downsample;
-
- GUIStyle style;
-
- void OnEnable()
- {
- serObj = new SerializedObject (target);
- lensFlareType = serObj.FindProperty("lensFlareType");
- useDirt = serObj.FindProperty("useDirt");
- saturation = serObj.FindProperty("saturation");
- flareIntensity = serObj.FindProperty("flareIntensity");
- bloomIntensity = serObj.FindProperty("bloomIntensity");
- threshold = serObj.FindProperty("threshold");
-
- blurIterations = serObj.FindProperty("iterations");
- blurSpread = serObj.FindProperty("blurSpread");
-
- downsample = serObj.FindProperty("downsample");
-
- dirtTexture = serObj.FindProperty("screenDirt");
-
- }
-
- public override void OnInspectorGUI () {
-
- serObj.Update();
-
- EditorGUILayout.PropertyField (lensFlareType, new GUIContent("Lens flare type"));
-
-
- threshold.floatValue = EditorGUILayout.Slider ("Threshold", threshold.floatValue, 0.0f, 1.0f);
-
- if( lensFlareType.enumValueIndex == 0 || lensFlareType.enumValueIndex == 2 )
- {
- saturation.floatValue = EditorGUILayout.Slider ("Flare saturation", saturation.floatValue, -2.0f, 2.0f);
- flareIntensity.floatValue = EditorGUILayout.Slider ("Flare intensity", flareIntensity.floatValue, 0.0f, 10.0f);
- if( lensFlareType.enumValueIndex == 0 )
- bloomIntensity.floatValue = EditorGUILayout.Slider ("Bloom intensity", bloomIntensity.floatValue, 0.0f, 10.0f);
- }
- else
- {
- bloomIntensity.floatValue = EditorGUILayout.Slider ("Bloom intensity", bloomIntensity.floatValue, 0.0f, 10.0f);
- }
-
- EditorGUILayout.Separator ();
-
- blurSpread.floatValue = EditorGUILayout.Slider ("Blur spread", blurSpread.floatValue, 0.0f, 2.0f);
- blurIterations.intValue = EditorGUILayout.IntSlider ("Blur iterations", blurIterations.intValue, 0, 64);
-
- EditorGUILayout.Separator ();
-
- downsample.intValue = EditorGUILayout.IntField("Downsample", downsample.intValue);
- downsample.intValue = Mathf.Clamp(downsample.intValue, 1, 12);
-
- EditorGUILayout.Separator ();
-
- EditorGUILayout.PropertyField (useDirt, new GUIContent("Use dirt"));
- EditorGUILayout.PropertyField (dirtTexture, new GUIContent("Screen dirt texture"));
-
- serObj.ApplyModifiedProperties();
-
- }
-
- }
|