You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

60 lines
2.0 KiB

using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(PlanarReflection))]
public class PlanarReflectionEditor : Editor
{
private SerializedObject serObj;
//private SerializedProperty wavesFrequency;
// reflection
private SerializedProperty reflectionMask;
private SerializedProperty reflectSkybox;
private SerializedProperty clearColor;
bool showKidsWithReflectionHint = false;
public void OnEnable () {
serObj = new SerializedObject (target);
reflectionMask = serObj.FindProperty("reflectionMask");
reflectSkybox = serObj.FindProperty("reflectSkybox");
clearColor = serObj.FindProperty("clearColor");
}
public override void OnInspectorGUI ()
{
GUILayout.Label ("Render planar reflections and use GrabPass for refractions", EditorStyles.miniBoldLabel);
if(!SystemInfo.supportsRenderTextures)
EditorGUILayout.HelpBox("Realtime reflections not supported", MessageType.Warning);
serObj.Update();
EditorGUILayout.PropertyField(reflectionMask, new GUIContent("Reflection layers"));
EditorGUILayout.PropertyField(reflectSkybox, new GUIContent("Use skybox"));
EditorGUILayout.PropertyField(clearColor, new GUIContent("Clear color"));
showKidsWithReflectionHint = EditorGUILayout.BeginToggleGroup("Show all tiles", showKidsWithReflectionHint);
if (showKidsWithReflectionHint) {
int i = 0;
foreach(Transform t in ((PlanarReflection)target).transform) {
if (t.GetComponent<WaterTile>()) {
if(i%2==0)
EditorGUILayout.BeginHorizontal();
EditorGUILayout.ObjectField(t, typeof(Transform), true);
if(i%2==1)
EditorGUILayout.EndHorizontal();
i = (i+1)%2;
}
}
if(i>0)
EditorGUILayout.EndHorizontal();
}
EditorGUILayout.EndToggleGroup();
serObj.ApplyModifiedProperties();
}
}