UP-Viagg-io/Viagg-io/Assets/Packages/AVProVideo/Editor/Scripts/VideoResolveOptionsDrawer.cs

71 lines
2.7 KiB
C#
Raw Normal View History

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
namespace RenderHeads.Media.AVProVideo.Editor
{
#if AVPRO_FEATURE_VIDEORESOLVE
[CustomPropertyDrawer(typeof(VideoResolveOptions))]
public class VideoResolveOptionsDrawer : PropertyDrawer
{
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 propApplyHSBC = property.FindPropertyRelative("applyHSBC");
EditorGUILayout.PropertyField(propApplyHSBC, new GUIContent("Image Adjustments"));
if (propApplyHSBC.boolValue)
{
SerializedProperty propHue = property.FindPropertyRelative("hue");
SerializedProperty propSaturation = property.FindPropertyRelative("saturation");
SerializedProperty propBrightness = property.FindPropertyRelative("brightness");
SerializedProperty propContrast = property.FindPropertyRelative("contrast");
SerializedProperty propGamma = property.FindPropertyRelative("gamma");
EditorGUILayout.PropertyField(propHue);
EditorGUILayout.PropertyField(propSaturation);
EditorGUILayout.PropertyField(propBrightness);
EditorGUILayout.PropertyField(propContrast);
EditorGUILayout.PropertyField(propGamma);
}
{
SerializedProperty propTint = property.FindPropertyRelative("tint");
SerializedProperty propGenerateMipMaps = property.FindPropertyRelative("generateMipmaps");
EditorGUILayout.PropertyField(propTint);
EditorGUILayout.PropertyField(propGenerateMipMaps);
}
EditorGUI.EndProperty();
}
}
[CustomPropertyDrawer(typeof(VideoResolve))]
public class VideoResolveDrawer : PropertyDrawer
{
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 propOptions = property.FindPropertyRelative("_options");
SerializedProperty propTargetRenderTexture = property.FindPropertyRelative("_targetRenderTexture");
EditorGUILayout.PropertyField(propOptions, true);
EditorGUILayout.PropertyField(propTargetRenderTexture, new GUIContent("Render Texture"));
if (propTargetRenderTexture.objectReferenceValue != null)
{
SerializedProperty propTargetRenderTextureScale = property.FindPropertyRelative("_targetRenderTextureScale");
EditorGUILayout.PropertyField(propTargetRenderTextureScale);
}
EditorGUI.EndProperty();
}
}
#endif
}