私は2つの同様のクラスClassA
とClassB
を持っています。クラスAでカスタムインスペクタフィールドの初期値を1に設定する方法
:どちらのクラスには、ブール値が含まれているクラスBでは
[SerializeField]
private bool _overwrite = true;
public bool overwrite
{
get { return _overwrite; }
set { _overwrite = value; }
}
:
[SerializeField]
private bool _hide = true;
public bool hide
{
get { return _hide; }
set { _hide = value; }
}
どちらのスクリプトがCustomEditor
スクリプトを持っています。どちらのエディタスクリプトでも、OnInspectorGUI()
メソッドの中で次の2行を使用して、それぞれのブールをインスペクタに追加します。私はゲームオブジェクトにClassBのを追加するとき
ClassB.hide = EditorGUILayout.ToggleLeft("Hide", ClassB.hide);
私はゲームオブジェクトににClassAを追加すると、フィールドがチェックされ、「上書き」
ClassA.overwrite = EditorGUILayout.ToggleLeft("Overwrite", ClassA.overwrite);
私は、何が違うのか、またはプロパティのデフォルト/初期値の設定に他の要素が関係しているか分かりません。
理想的には、両方ともデフォルトでチェックされるようにします。
アイデアは何か不足している可能性がありますか?お時間を
おかげで、
リアム
お詫び!私はコピーして貼り付けるときにそれを逃した。実際のクラスは 'grabObject'と呼ばれます。あなたが上に持っているものは私のプロジェクトで持っているものとほとんど同じです。 –