Unityエディタスクリプトの使い方(エディタから継承)(徐々に改良)

このスクリプトは、スクリプトをより適切に制御するためにエディターでのみ使用されます (指定されたスクリプト GUI パネルを変更する、ターゲット スクリプトをより適切に制御するなど)。主にUnity のスクリプト パネルに表示され、エディターのスクリプトの配置を継承します。エディタ/TileEditor.cs)

  1. [CustomEditor(typeof(TileObject))] と tileObject = (TileObject)target の使用

a. [CustomEditor(typeof(TileObject))] を Editor スクリプトクラスの前に配置してスクリプトを指定します ここに TileObject スクリプトを記述します 初期化には private void OnEnable(){tileObject = (TileObject)target} を使用します

2. public override void OnInspectorGUI(){} 以下の一般的に使用される関数がここで定義されています。

a.GUILayout.Label("Tile Editor"); 指定されたスクリプト パネルの下にタイル エディターのラベルを定義します (図を参照)。
b.editMode = EditorGUILayout.Toggle("Edit",editMode);2 つの状態間の切り替え false true;
c. tileObject.debug = EditorGUILayout.Toggle("デバッグ",tileObject.debug);同じ
d.string[] editDataStr = { "デッド"、"ロード"、"ガード" };
図に示すように、tileObject.dataID = GUILayout.Toolbar(tileObject.dataID,editDataStr);
e.EditorGUILayout.Separator(); 美しく分割線を引く
if (GUILayout.Button("リセット")) {
tileObject.Reset();
}リセット ボタンについてはもう説明する必要はありません。
f.DrawDefaultInspector(); は、OnInspectorGUI を使用するときにスクリプト パネル上のすべてのコンテンツを再描画する代わりに、ターゲット スクリプトの他のプロパティを Unity で表示します。これは非常に重要です。

おすすめ

転載: blog.csdn.net/HeDanTou_/article/details/129352557
おすすめ