totalPosition | 表示位置 |
label | スライダーの前のオプションのラベル。 SerializedProperty から名前を使用するためには null を使用します。ラベルを表示させないためには GUIContent.none を使用します。 |
property | コントロールに使用する SerializedProperty |
GUIContent コントロールに使用する実際のラベル
SerializedProperty を GUI で管理しやすくするようにするためのプロパティーのラッパーである GUI グループを作成します
ほとんどの EditorGUI と EditorGUILayout の GUI コントロールはすでに SerializedProperty で動作するオーバーロードを持ち合わせています。
ですが、以下の例のように SerializedProperty でハンドリングできないものに関しては BeginProperty と EndProperty でラップしてその内側に処理を書くことで GUI をコントロールすることが可能です。
独自の GUI コントロールを作成する場合にも使用することができます。
BeginProperty と EndProperty は自動的にデフォルトのラベル処理をします。プレハブにボールドフォントに上書きし、メニューを右クリックしてプレハブに戻ります。複数のオブジェクトを編集するとき、プロパティーの値が異なる場合は showMixedValue を True に設定します。
// A slider function that takes a SerializedProperty function Slider (position : Rect, property : SerializedProperty, leftValue : float, rightValue : float, label : GUIContent) { label = EditorGUI.BeginProperty (position, label, property); EditorGUI.BeginChangeCheck (); var newValue = EditorGUI.Slider (position, label, property.floatValue, leftValue, rightValue); // Only assign the value back if it was actually changed by the user. // Otherwise a single value will be assigned to all objects when multi-object editing, // even when the user didn't touch the control. if (EditorGUI.EndChangeCheck ()) property.floatValue = newValue; EditorGUI.EndProperty (); }
See Also: EndProperty.