35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using UnityEditor;
|
|
|
|
public class LuxURPVectorTwoInverseDrawer : MaterialPropertyDrawer {
|
|
|
|
public override void OnGUI (Rect position, MaterialProperty prop, string label, MaterialEditor editor) {
|
|
|
|
// Needed since Unity 2019
|
|
EditorGUIUtility.labelWidth = 0;
|
|
|
|
Vector4 vec4value = new Vector4(prop.vectorValue.y, prop.vectorValue.x, 0, 0);
|
|
|
|
float near = prop.vectorValue.y;
|
|
float far = prop.vectorValue.x;
|
|
|
|
GUILayout.Space(-18);
|
|
EditorGUI.BeginChangeCheck();
|
|
EditorGUILayout.BeginVertical();
|
|
EditorGUILayout.BeginHorizontal();
|
|
EditorGUILayout.PrefixLabel(label);
|
|
GUILayout.Space(-1);
|
|
vec4value = EditorGUILayout.Vector2Field ("", vec4value);
|
|
|
|
EditorGUILayout.EndHorizontal();
|
|
near = EditorGUILayout.FloatField ("n", near);
|
|
far = EditorGUILayout.FloatField ("f", far);
|
|
EditorGUILayout.EndVertical();
|
|
// GUILayout.Space(2);
|
|
if (EditorGUI.EndChangeCheck ()) {
|
|
prop.vectorValue = vec4value; //new Vector4(vec4value.x, vec4value.y, 0, 0);
|
|
prop.vectorValue = new Vector4(far, near, 0, 0);
|
|
}
|
|
}
|
|
} |