1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEditor;
- namespace RenderHeads.Media.AVProVideo.Editor
- {
- [CustomPropertyDrawer(typeof(MediaHints))]
- public class MediaHintsDrawer : PropertyDrawer
- {
- private readonly static GUIContent[] StereoPackingOptions =
- {
- // NOTE: must be in the same order as enum StereoPacking
- new GUIContent("None"),
- new GUIContent("Top Bottom"),
- new GUIContent("Left Right"),
- new GUIContent("Custom UV"),
- };
- public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { return 0f; }
- public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
- {
- EditorGUI.BeginProperty(position, GUIContent.none, property);
- SerializedProperty propHintsTransparency = property.FindPropertyRelative("transparency");
- SerializedProperty propHintsAlphaPacking = property.FindPropertyRelative("alphaPacking");
- SerializedProperty propHintsStereoPacking = property.FindPropertyRelative("stereoPacking");
- EditorGUILayout.PropertyField(propHintsTransparency);
- if ((TransparencyMode)propHintsTransparency.enumValueIndex == TransparencyMode.Transparent)
- {
- EditorGUILayout.PropertyField(propHintsAlphaPacking);
- }
- {
- // NOTE: We don't allow selection of 'Two Textures' as this mode is only produced by the Players as it is platform specific
- propHintsStereoPacking.enumValueIndex = EditorGUILayout.Popup(new GUIContent("Stereo Packing"), propHintsStereoPacking.enumValueIndex, StereoPackingOptions);
- }
- EditorGUI.EndProperty();
- }
- }
- }
|