스파르타 게임개발종합반(Unity)/사전캠프 공부 기록

[Unity] GameManager 싱글톤 패턴 - Singleton

테크러너 2024. 4. 1.

GameManager 싱글톤 처리하기

싱글톤이란? '너는 딱 하나야!' 라고 할 수 있게 세팅해두는 것(그래야 다른데서 나를 부를 수 있습니다!)

public static GameManager Instance;

void Awake()
{
	if(Instance == null)
	{
		Instance = this;
	}
}

Instance == null 이란?

null 은 비어있다는 뜻입니다.

변수는 데이터/값을 담아 놓는 박스인데요, 이 변수(박스)가 비어 있을 때 Instance = this 를 해주겠다는 뜻입니다.

 

여기서 static 키워드는 '너 하나야'라고 표현해주기 위해 사용됩니다.

 

 

+ 내용추가

    public static AudioManager instance;

    private void Awake()
    {
        if(instance == null)
        {
            instance = this;
            DontDestroyOnLoad(gameObject); // 씬을 이동해도 AudioManager 오브젝트가 파괴되지 않음
        }
        else // 이미 존재할 때
        {
            Destroy(gameObject); // 새로 생성되는 MainScene의 AudioManager를 파괴해서 AudioManager는 하나만 남게됨
        }
    }

2024.04.09 - [Unity/공통] - [Unity] 소리 & 배경음악 넣기 - AudioSource, AudioClip, PlayOneShot, Play, AudioManager, 배경음악, 효과음, DontDestroyOnLoad, 싱글톤

반응형

댓글