SerializedProperty と SerializedObject は、例えばプレハブの UI の Undo とスタイリングを自動的に処理する一般的な方法として、オブジェクトのプロパティーを編集するためのクラスです。
SerializedProperty は主に SerializedObject と Editor クラスを組み合わせて使用します。 参照: SerializedObject クラス、 Editor クラス
using UnityEngine;
public class MyObject : ScriptableObject { public int myInt = 42; }
public class SerializedProperty : 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 | アニメーションカーブのプロパティーの値 |
arraySize | 配列内の要素数 SerializedObject に複数のオブジェクトが含まれている場合、最も小さい要素数を返します。よって、いつでも SerializedObject を通してイテレートすることと、すべてのオブジェクトで get プロパティーだけを探すことが可能です。 |
boolValue | boolean プロパティーの値 |
boundsValue | Bounds プロパティーの値 |
colorValue | color プロパティーの値 |
depth | プロパティーのネストの深さ (読み取り専用) |
displayName | 最適なプロパティーの表示名 (読み取り専用) |
doubleValue | double として float プロパティーの値 |
editable | プロパティーが編集可能かどうか (読み取り専用) |
enumDisplayNames | enum プロパティーの表示しやすい列挙型名 |
enumNames | enum プロパティーの列挙型名 |
enumValueIndex | enum プロパティーの enum インデックス |
floatValue | float プロパティーの値 |
hasChildren | 子のプロパティーを持つかどうか (読み取り専用) |
hasMultipleDifferentValues | このプロパティーは複数編集のため、複数の異なる値を持っているかどうか (読み取り専用) |
hasVisibleChildren | Visible の子のプロパティーを持つかどうか (読み取り専用) |
intValue | 整数のプロパティーの値 |
isArray | プロパティーが配列かどうか (読み取り専用) |
isExpanded | インスペクター上でこのプロパティーを展開するかどうか (読み取り専用) |
isInstantiatedPrefab | プレハブインスタンスのプロパティーの一部かどうか (読み取り専用) |
longValue | Long としての整数のプロパティーの値 |
name | プロパティー名 (読み取り専用) |
objectReferenceValue | 参照オブジェクトのプロパティーの値 |
prefabOverride | プロパティーの値がプレハブに保存されている値と異なるかどうか |
propertyPath | プロパティーのフルパス (読み取り専用) |
propertyType | プロパティーのタイプ (読み取り専用) |
quaternionValue | Quaternion プロパティーの値 |
rectValue | Rect プロパティーの値 |
serializedObject | SerializedObject this property belongs to (Read Only). |
stringValue | string プロパティーの値 |
tooltip | プロパティーのツールチップ (読み取り専用) |
type | プロパティーのタイプ名 (読み取り専用) |
vector2Value | Vector2 プロパティーの値 |
vector3Value | Vector3 プロパティーの値 |
vector4Value | Vector4 プロパティーの値 |
ClearArray | 配列からすべてのエレメントを削除します |
Copy | 現在の状態の SerializedProperty イテレーターのコピーを返し、現在のプロパティーへの参照を維持しますが、イテレーションを続行する場合に便利です。 |
CountInProperty | このプロパティー自体を含む、このプロパティーの Visible children (見えている子) をカウントします |
CountRemaining | 残りの Visible プロパティーをカウントします |
DeleteArrayElementAtIndex | 配列内の指定したインデックスにあるエレメントを削除します |
DeleteCommand | シリアライズされたプロパティーを削除します |
DuplicateCommand | シリアライズされたプロパティーを複製します |
FindPropertyRelative | 現在のプロパティーへの相対パスで SerializedProperty を取得してきます |
GetArrayElementAtIndex | 配列内の指定したインデックスにあるエレメントを返します |
GetEndProperty | このプロパティーの範囲の終わりを定義する SerializedProperty を取得します |
GetEnumerator | 現在のシリアライズされたプロパティーの Next() を反復処理するイテレータを取得します |
InsertArrayElementAtIndex | 空のエレメントを配列内の指定したインデックスに挿入します |
MoveArrayElement | srcIndex から dstIndex に配列エレメントを移動します |
Next | 次のプロパティーに移動します |
NextVisible | 次の Visible プロパティーに移動します |
Reset | オブジェクトの最初のプロパティーに移動します |
EqualContents | 2つの SerializedProperty が等しいかどうかを確認します。 |