2017-09-29 1 views
0

私はクラス「Weapon」とサブクラス「ThrowableWeapon」を持っています。私は、親から継承された変数とヘッダーを、2番目のインスペクタで隠したいと思っています。出来ますか?インスペクタのヘッダと変数を親クラスから統一して表示しない

私はまた、親からいくつかのパブリック変数のデフォルト値を変更し、子のインスペクタで新しい値をデフォルトとして表示したいと思いますが、それを行う方法はわかりません。子のStartメソッド内の値を変更すると、インスペクタのデフォルト値は引き続き親のデフォルト値になります。

ありがとうございました。

答えて

1

親のシリアル化フィールドを非表示にする場合は、Custom inspectorを作成し、派生クラスのフィールドを取得する必要があります。

派生クラスのデフォルト値を "上書き"する場合は、MonoBehaviour's Reset関数を実装してここに目的の値を設定してください。

ユーザーがインスペクタのコンテキストメニューでリセットボタンを押すか、最初にコンポーネントを追加するときに、リセットが呼び出されます。この関数は、エディタモードでのみ呼び出されます。リセットは、インスペクタで適切なデフォルト値を与えるために最も一般的に使用されます。

void Reset() 
{ 
    parentAttribute = newValue ; 
} 
+0

、Helliumをありがとう! – Sergio

関連する問題