Initial Commit
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace OVR
|
||||
{
|
||||
|
||||
/*
|
||||
-----------------------
|
||||
|
||||
MixerSnapshotPropertyDrawer
|
||||
|
||||
-----------------------
|
||||
*/
|
||||
[CustomPropertyDrawer( typeof( MixerSnapshot ) )]
|
||||
public class MixerSnapshotPropertyDrawer : PropertyDrawer {
|
||||
|
||||
// Draw the property inside the given rect
|
||||
public override void OnGUI( Rect position, SerializedProperty property, GUIContent label ) {
|
||||
// Using BeginProperty / EndProperty on the parent property means that
|
||||
// prefab override logic works on the entire property.
|
||||
EditorGUI.BeginProperty( position, label, property );
|
||||
|
||||
// Draw label
|
||||
position = EditorGUI.PrefixLabel( position, GUIUtility.GetControlID( FocusType.Passive ), label );
|
||||
|
||||
// Don't make child fields be indented
|
||||
var indent = EditorGUI.indentLevel;
|
||||
EditorGUI.indentLevel = 0;
|
||||
EditorGUIUtility.labelWidth = 65;
|
||||
|
||||
float width = ( position.width - 15.0f ) / 2.0f;
|
||||
|
||||
// Calculate rects
|
||||
var srcRect = new Rect( position.x, position.y, width + 20, position.height ); position.x += width + 25.0f;
|
||||
var destRect = new Rect( position.x, position.y, width - 60, position.height ); position.x += width - 60.0f;
|
||||
var secsRect = new Rect( position.x, position.y, 40, position.height );
|
||||
|
||||
// Draw fields - pass GUIContent.none to each so they are drawn without labels
|
||||
EditorGUI.PropertyField( srcRect, property.FindPropertyRelative( "snapshot" ), GUIContent.none );
|
||||
EditorGUI.PropertyField( destRect, property.FindPropertyRelative( "transitionTime" ), new GUIContent( "Transition" ) );
|
||||
EditorGUI.LabelField( secsRect, new GUIContent( "sec(s)" ) );
|
||||
|
||||
// Set indent back to what it was
|
||||
EditorGUI.indentLevel = indent;
|
||||
|
||||
EditorGUI.EndProperty();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace OVR
|
||||
Reference in New Issue
Block a user