#if UNITY_EDITOR using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; /******************************************************************************** *Create By CG *Function 只读,滑条,多选框 编辑器设置 *********************************************************************************/ namespace CG.UTility { [CustomPropertyDrawer(typeof(MyReadOnlyAttribute))] public class MyReadOnlyDrawer : PropertyDrawer { public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { return base.GetPropertyHeight(property, label); } public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { GUI.enabled = false; EditorGUI.PropertyField(position, property, label, true); GUI.enabled = true; } } [CustomPropertyDrawer(typeof(MyRangeAttribute))] public class MyRangeAttributeDrawer : PropertyDrawer { //重载OnGUI方法 public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { MyRangeAttribute myRange = attribute as MyRangeAttribute; if (property.propertyType == SerializedPropertyType.Integer) { EditorGUI.IntSlider(position, property, (int)myRange.Min, (int)myRange.Max, label); } else if (property.propertyType == SerializedPropertyType.Float) { EditorGUI.Slider(position, property, myRange.Min, myRange.Max, label); } else { } } } } #endif