SerializedProperty.intValue
Declaration
public int intValue;Описание
Значение целочисленного свойства.
Содержит допустимое значение, когда propertyType является SerializedPropertyType.Integer и базовый тип имеет знак 32 бит или меньше (e.g. sbyte, short и int). Это также подходит для небольших типов без знака (ushort и byte). Для 32-битных полей без знака используйте uintValue вместо этого. А если вы получаете доступ к 64-битным целым числам, используйте longValue или ulongValue вместо этого.
При назначении значения intValue, значение зажимается в диапазоне типа, объявленного свойством. Например, свойство, объявленное как байт, зажимается между 0 и 255.
Дополнительные ресурсы: intValue, uintValue, longValue, propertyType, SerializedPropertyType.Integer.
using System; using System.Text; using UnityEditor; using UnityEngine;
public class IntegerTypeExample : ScriptableObject { public sbyte m_sbyte = SByte.MinValue; public byte m_byte = Byte.MaxValue; public short m_short = Int16.MinValue; public ushort m_ushort = UInt16.MaxValue; public int m_int = Int32.MinValue; public uint m_uint = UInt32.MaxValue; public long m_long = Int64.MinValue; public ulong m_ulong = UInt64.MaxValue;
[MenuItem("Example/SerializedProperty Integer Access APIs")] static void TestMethod() { // This example demonstrates how to access the full range of each C# integer type via SerializedProperty
IntegerTypeExample obj = ScriptableObject.CreateInstance<IntegerTypeExample>(); SerializedObject sObj = new SerializedObject(obj);
var sb = new StringBuilder(); sb.AppendLine($"m_sbyte : {sObj.FindProperty("m_sbyte").intValue}"); sb.AppendLine($"m_byte : {sObj.FindProperty("m_byte").uintValue}"); // or intValue sb.AppendLine($"m_short : {sObj.FindProperty("m_short").intValue}"); sb.AppendLine($"m_ushort : {sObj.FindProperty("m_ushort").uintValue}"); // or intValue sb.AppendLine($"m_int : {sObj.FindProperty("m_int").intValue}"); sb.AppendLine($"m_uint : {sObj.FindProperty("m_uint").uintValue}"); sb.AppendLine($"m_long : {sObj.FindProperty("m_long").longValue}"); sb.AppendLine($"m_ulong : {sObj.FindProperty("m_ulong").ulongValue}");
Debug.Log(sb.ToString()); } }