65 lines
2.6 KiB
C#
65 lines
2.6 KiB
C#
|
using UnityEditor;
|
|||
|
using FairyGUI;
|
|||
|
|
|||
|
namespace FairyGUIEditor
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
[CustomEditor(typeof(UIContentScaler))]
|
|||
|
public class UIContentScalerEditor : Editor
|
|||
|
{
|
|||
|
SerializedProperty scaleMode;
|
|||
|
SerializedProperty screenMatchMode;
|
|||
|
SerializedProperty designResolutionX;
|
|||
|
SerializedProperty designResolutionY;
|
|||
|
SerializedProperty fallbackScreenDPI;
|
|||
|
SerializedProperty defaultSpriteDPI;
|
|||
|
SerializedProperty constantScaleFactor;
|
|||
|
SerializedProperty ignoreOrientation;
|
|||
|
|
|||
|
string[] propertyToExclude;
|
|||
|
|
|||
|
void OnEnable()
|
|||
|
{
|
|||
|
scaleMode = serializedObject.FindProperty("scaleMode");
|
|||
|
screenMatchMode = serializedObject.FindProperty("screenMatchMode");
|
|||
|
designResolutionX = serializedObject.FindProperty("designResolutionX");
|
|||
|
designResolutionY = serializedObject.FindProperty("designResolutionY");
|
|||
|
fallbackScreenDPI = serializedObject.FindProperty("fallbackScreenDPI");
|
|||
|
defaultSpriteDPI = serializedObject.FindProperty("defaultSpriteDPI");
|
|||
|
constantScaleFactor = serializedObject.FindProperty("constantScaleFactor");
|
|||
|
ignoreOrientation = serializedObject.FindProperty("ignoreOrientation");
|
|||
|
|
|||
|
propertyToExclude = new string[] { "m_Script", "scaleMode", "screenMatchMode", "designResolutionX", "designResolutionY",
|
|||
|
"fallbackScreenDPI", "defaultSpriteDPI", "constantScaleFactor", "ignoreOrientation"};
|
|||
|
}
|
|||
|
|
|||
|
public override void OnInspectorGUI()
|
|||
|
{
|
|||
|
serializedObject.Update();
|
|||
|
|
|||
|
DrawPropertiesExcluding(serializedObject, propertyToExclude);
|
|||
|
|
|||
|
EditorGUILayout.PropertyField(scaleMode);
|
|||
|
if ((UIContentScaler.ScaleMode)scaleMode.enumValueIndex == UIContentScaler.ScaleMode.ScaleWithScreenSize)
|
|||
|
{
|
|||
|
EditorGUILayout.PropertyField(designResolutionX);
|
|||
|
EditorGUILayout.PropertyField(designResolutionY);
|
|||
|
EditorGUILayout.PropertyField(screenMatchMode);
|
|||
|
EditorGUILayout.PropertyField(ignoreOrientation);
|
|||
|
}
|
|||
|
else if ((UIContentScaler.ScaleMode)scaleMode.enumValueIndex == UIContentScaler.ScaleMode.ConstantPhysicalSize)
|
|||
|
{
|
|||
|
EditorGUILayout.PropertyField(fallbackScreenDPI);
|
|||
|
EditorGUILayout.PropertyField(defaultSpriteDPI);
|
|||
|
}
|
|||
|
else
|
|||
|
EditorGUILayout.PropertyField(constantScaleFactor);
|
|||
|
|
|||
|
if (serializedObject.ApplyModifiedProperties())
|
|||
|
(target as UIContentScaler).ApplyModifiedProperties();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|