masked雑記

IT関連の記事を書く

ManagerはSingletonで

UnityのSceneで1つしか存在しないスクリプト(主にManager)はSingletonパターンでいいじゃんという話

Singleton パターン - Wikipedia

Managerインスタンスを呼び出すのにGameObject.Find("HogeManager")と毎回書くのがめんどくさいので以下のようなスクリプトにすれば簡単に他クラスからHogeManager.Instanceでインスタンスにアクセスできる。

using UnityEngine;

public class HogeManager : MonoBehaviour {

    public static HogeManager Instance;

    // Awakeはシーン開始時に呼び出される
    void Awake () {
        if (Instance == null) {
            Instance = this;
        } else {
            // シーン内にすでにHogeManagerが存在する場合は自分を削除
            Destroy (this);
        }
    }
}