Version: 2017.3

SerializedProperty

class in UnityEditor

切换到手册

描述

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 将与 SerializedObjectEditor 类结合使用。 另请参阅: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布尔值属性的值。
boundsIntValue带有整数值属性的边界的值。
boundsValue边界属性的值。
colorValue颜色属性的值。
depth属性的嵌套深度。(只读)
displayName属性的友好显示名称。(只读)
doubleValue双精度浮点属性的值。
editable此属性是否可编辑?(只读)
enumDisplayNames枚举属性的枚举的友好显示名称。
enumNames枚举属性的枚举的名称。
enumValueIndex枚举属性的枚举索引。
exposedReferenceValue对场景中另一个对象的引用。系统将在包含 SerializedProperty 的 SerializedObject 的上下文中解析此引用。
fixedBufferSize固定缓冲区中的元素数量。(只读)
floatValue浮点属性的值。
hasChildren此属性是否有子属性?(只读)
hasMultipleDifferentValues此属性是否会因为多对象编辑而代表多个不同的值?(只读)
hasVisibleChildren此属性是否有可见的子属性?(只读)
intValue整数属性的值。
isArray此属性是否为数组?(只读)
isExpanded此属性是否在检视面板中展开?
isFixedBuffer此属性是否为固定缓冲区?(只读)
isInstantiatedPrefabIs property part of a prefab instance? (Read Only)
longValue长整型属性的值。
name属性的名称。(只读)
objectReferenceValue对象引用属性的值。
prefabOverrideIs property's value different from the prefab it belongs to?
propertyPath属性的完整路径。(只读)
propertyType此属性的类型(只读)。
quaternionValue四元数属性的值。
rectIntValue带有整数值属性的矩形的值。
rectValue矩形属性的值。
serializedObject此属性所属的 SerializedObject(只读)。
stringValue字符串属性的值。
tooltip属性的工具提示。(只读)
type属性的类型名称。(只读)
vector2IntValue2D 整数向量属性的值。
vector2Value2D 向量属性的值。
vector3IntValue3D 整数向量属性的值。
vector3Value3D 向量属性的值。
vector4Value4D 向量属性的值。

公共函数

ClearArray从数组中删除所有元素。
Copy返回 SerializedProperty 迭代器的副本(保留当前状态)。如果您想在继续迭代的同时保存当前属性的引用,则此方法很有用。
CountInProperty计算此属性的可见子属性的数量,包括属性本身。
CountRemaining计算剩余可见属性的数量。
DeleteArrayElementAtIndex删除数组中指定索引处的元素。
DeleteCommand删除已序列化的属性。
DuplicateCommand复制已序列化的属性。
FindPropertyRelative从当前属性的相关路径检索 SerializedProperty。
GetArrayElementAtIndex返回数组中指定索引处的元素。
GetEndProperty检索定义此属性起始范围的 SerializedProperty。
GetEnumerator检索可让您遍历序列化属性的当前嵌套内容的迭代器。
GetFixedBufferElementAtIndex返回固定缓冲区中指定索引处的元素。
InsertArrayElementAtIndex在数组中的指定索引处插入空元素。
MoveArrayElement将数组元素从 srcIndex 移到 dstIndex。
Next移至下一个属性。
NextVisible移至下一个可见属性。
Reset移至对象的第一个属性。

静态函数

EqualContents查看包含的序列化属性是否相等。