0

「タイル」を選択してそれに「壁」を追加する Unity Editor クラスを作成しました。単一選択では機能しますが、複数選択ではうまくいきません。見つけた

[複数のオブジェクトを編集可能]

しかし、それだけでは役に立ちません。エディタ スクリプトは次のとおりです。

#if UNITY_EDITOR
using UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(TileMorpherMonoBehaviour))] 
[CanEditMultipleObjects]
public class TileMorpher : Editor {

public override void OnInspectorGUI() {
    TileControl tileControl = (target as TileMorpherMonoBehaviour).gameObject.GetComponent<TileControl> ();

    if (GUILayout.Button("Add wall")) {
        tileControl.addWall ();
    }
    if (GUILayout.Button("Remove wall")) {
        tileControl.removeWall ();
    }
}

}
#endif
4

1 に答える 1

0

それを解決しました。targetsが鍵です。

for(int i = 0; i < targets.Length; i++) {
    (target as SomeClass).gameObject.GetComponent<TileControl> ().addWall();
}
于 2015-10-13T20:14:09.080 に答える