You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.7 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();
 | |
|         }
 | |
|     }
 | |
| }
 |