_xiaofang/xiaofang/Assets/Obi/Scripts/Common/Utils/Attributes/MultiRange.cs
杨号敬 bcc74f0465 add
2024-12-18 02:18:45 +08:00

35 lines
993 B
C#

using System;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace Obi{
[System.AttributeUsage(System.AttributeTargets.Field)]
public class MultiRange : MultiPropertyAttribute
{
float min;
float max;
public MultiRange(float min, float max)
{
this.min = min;
this.max = max;
}
#if UNITY_EDITOR
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
// Now draw the property as a Slider or an IntSlider based on whether it's a float or integer.
if (property.propertyType == SerializedPropertyType.Float)
EditorGUI.Slider(position, property, min, max, label);
else if (property.propertyType == SerializedPropertyType.Integer)
EditorGUI.IntSlider(position, property, (int)min, (int)max, label);
else
EditorGUI.LabelField(position, label.text, "Use MultiRange with float or int.");
}
#endif
}
}