読者です 読者をやめる 読者になる 読者になる

(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

コンポーネントを追加した際に処理をしたい場合は、Resetを使うと良いって話【Unity】

Unity

このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 5.4.0f3


MonoBehaviour.Reset

MonoBehaviourを継承したクラスをGameObjectにaddすると、

特に何もせずともInspectorの歯車にResetというメニューが出現します。


f:id:kan_kikuchi:20160930132847p:plain


そのままでは実行してもなにも起こりませんが、Resetというメソッド作成することで

Inspectorからそれを実行できるようになります。例えば以下のような感じ。

using UnityEngine;
using System.Collections;

public class ResetTest : MonoBehaviour {

  private void Reset () {
    Debug.Log ("Reset");
  }

}



さらにこのResetというメソッドは

タイトルの通り、コンポーネントをInspector上で追加した時にも実行されます。


f:id:kan_kikuchi:20160930133718g:plain


ちなみにInspector上だけでなく、AddComponentした時にも実行されます。

コンポーネント追加時に何か初期化したい場合に使えるかと思います。


ただし、実機上やエディタを実行している時には動作しないので注意が必要です。

この関数はエディターモードのみで呼び出されます。