6

が(および子ゲームオブジェクトでさえ)Component追加されたときに(おそらく発生したメソッド/イベントを通じて)通知を受けることができますか?GameObject

たとえば、エディターでいくつかのイベントが発生したときに、(おそらく一部のエディター スクリプトで) 通知を受け取りたいです。

  • AComponentがインスタンスにアタッチされましたGameObject
  • AComponentは、_Prefab
  • Aは別のインスタンスのGameObjectになりましたGameObject

これは可能ですか?はいの場合、どのように?


編集

子育てに関係するデリゲートを見つけました:EditorApplication.hierarchyWindowChanged

ドキュメントによれば、それは次のように呼ばれています:

シーン階層が変更されるたびに呼び出されます。

これは、transform.parent の変更、gameObject.name、新しいゲーム オブジェクトの作成などです。

階層内のどのオブジェクトが変更されたかを理解する便利な方法があるかどうかはまだわかりません。

4

2 に答える 2

-1

これを便利に行う「組み込み」の方法はありません。ただし、いくつかの方法でシミュレートできます。

  • コンポーネントの関数を利用して、そのAwake()親を呼び出しますgameObject(SendMessageこれは非常にきれいに機能します) [注: これは、新しいコンポーネント インスタンスを追加する場合にのみ機能します]

また

  • 親を追跡する変数を作成します。メソッドで、Update()現在の親をチェックして、SendMessage を新しい親にトリガーします。

    状況に応じて機能するものの例を 2 つだけ示します。他にもたくさんあります。結局のところ、(今のところ) 何も構築されていませんが、回避策の観点からは確かに実行可能です。

于 2013-03-26T20:46:04.223 に答える