SerializedProperty and SerializedObject are classes for editing properties on objects in a completely generic way that automatically handles undo and styling UI for prefabs.
SerializedProperty 将与 SerializedObject 和 Editor 类结合使用。 另请参阅:SerializedObject 类、Editor 类。
using UnityEngine; using UnityEditor;
public class MyObject : ScriptableObject { public int myInt = 42; }
public class SerializedPropertyTest : MonoBehaviour { void Start() { MyObject obj = ScriptableObject.CreateInstance<MyObject>(); SerializedObject serializedObject = new UnityEditor.SerializedObject(obj);
SerializedProperty serializedPropertyMyInt = serializedObject.FindProperty("myInt");
Debug.Log("myInt " + serializedPropertyMyInt.intValue); } }
| animationCurveValue | 动画曲线属性的值。 | 
| arrayElementType | 数组属性中元素的类型名称。(只读) | 
| arraySize | 数组中的元素数。如果 SerializedObject 包含多个对象,将返回元素的最小数量。因此,始终可以循环访问 SerializedObject 并仅获取在所有对象中找到的属性。 | 
| boolValue | 布尔值属性的值。 | 
| boundsValue | 边界属性的值。 | 
| colorValue | 颜色属性的值。 | 
| depth | 属性的嵌套深度。(只读) | 
| displayName | 属性的友好显示名称。(只读) | 
| doubleValue | 双精度浮点属性的值。 | 
| editable | 此属性是否可编辑?(只读) | 
| enumDisplayNames | 枚举属性的枚举的友好显示名称。 | 
| enumNames | 枚举属性的枚举的名称。 | 
| enumValueIndex | 枚举属性的枚举索引。 | 
| exposedReferenceValue | 对场景中另一个对象的引用。系统将在包含 SerializedProperty 的 SerializedObject 的上下文中解析此引用。 | 
| fixedBufferSize | 固定缓冲区中的元素数量。(只读) | 
| floatValue | 浮点属性的值。 | 
| hasChildren | 此属性是否有子属性?(只读) | 
| hasMultipleDifferentValues | 此属性是否会因为多对象编辑而代表多个不同的值?(只读) | 
| hasVisibleChildren | 此属性是否有可见的子属性?(只读) | 
| intValue | 整数属性的值。 | 
| isArray | 此属性是否为数组?(只读) | 
| isExpanded | 此属性是否在检视面板中展开? | 
| isFixedBuffer | 此属性是否为固定缓冲区?(只读) | 
| isInstantiatedPrefab | Is property part of a prefab instance? (Read Only) | 
| longValue | 长整型属性的值。 | 
| name | 属性的名称。(只读) | 
| objectReferenceValue | 对象引用属性的值。 | 
| prefabOverride | Is property's value different from the prefab it belongs to? | 
| propertyPath | 属性的完整路径。(只读) | 
| propertyType | 此属性的类型(只读)。 | 
| quaternionValue | 四元数属性的值。 | 
| rectValue | 矩形属性的值。 | 
| serializedObject | 此属性所属的 SerializedObject(只读)。 | 
| stringValue | 字符串属性的值。 | 
| tooltip | 属性的工具提示。(只读) | 
| type | 属性的类型名称。(只读) | 
| vector2Value | 2D 向量属性的值。 | 
| vector3Value | 3D 向量属性的值。 | 
| vector4Value | 4D 向量属性的值。 | 
| ClearArray | 从数组中删除所有元素。 | 
| Copy | 返回 SerializedProperty 迭代器的副本(保留当前状态)。如果您想在继续迭代的同时保存当前属性的引用,则此方法很有用。 | 
| CountInProperty | 计算此属性的可见子属性的数量,包括属性本身。 | 
| CountRemaining | 计算剩余可见属性的数量。 | 
| DeleteArrayElementAtIndex | 删除数组中指定索引处的元素。 | 
| DeleteCommand | 删除已序列化的属性。 | 
| DuplicateCommand | 复制已序列化的属性。 | 
| FindPropertyRelative | 从当前属性的相关路径检索 SerializedProperty。 | 
| GetArrayElementAtIndex | 返回数组中指定索引处的元素。 | 
| GetEndProperty | 检索定义此属性起始范围的 SerializedProperty。 | 
| GetEnumerator | 检索可让您遍历序列化属性的当前嵌套内容的迭代器。 | 
| GetFixedBufferElementAtIndex | 返回固定缓冲区中指定索引处的元素。 | 
| InsertArrayElementAtIndex | 在数组中的指定索引处插入空元素。 | 
| MoveArrayElement | 将数组元素从 srcIndex 移到 dstIndex。 | 
| Next | 移至下一个属性。 | 
| NextVisible | 移至下一个可见属性。 | 
| Reset | 移至对象的第一个属性。 | 
| EqualContents | 查看包含的序列化属性是否相等。 |