포스트

섹션1. 유니티 기초

위 글은 인프런에 있는 Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진 강의를 듣고 남긴 필기입니다.

Managers 싱글톤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Managers : MonoBehaviour
{
    public static Managers s_instance; // 유일한 인스턴스를 담을 변수.
    public static Managers Instance {  get{ return s_instance; } }     // 유일한 인스턴스를 참조하는 메서드.
    
    void Start()
    {
        Init();
    }

    static void Init()
    {
        // Instance가 null일 때만 Managers를 찾아 Instance에 할당
        if (s_instance != null) return;
        
        GameObject go = GameObject.Find("@Managers");
        if (go == null)
        {
            go = new GameObject{name = "@Managers"};
            go.AddComponent<Managers>();
        }
        
        DontDestroyOnLoad(go);
        s_instance = go.GetComponent<Managers>();
    }
}

위는 프로젝트의 전 범위에서 사용가능한 Managers의 스크립트다.

다양한 Manager들을 각각 모듈형으로 개발해 추가할 수 있는 그 기본이 되는 스크립트다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.