728x90
게임을 제작하다 보면 게임 점수, 플레이어의 목숨, 난이도 조절 등 전체적인 게임의 자원을 관리하는 GameManager 스크립트를 만들어야 합니다.
게임의 자원을 관리하는 GameManager를 관련된 모든 스크립트에 인스턴스화하여 접근하게 된다면 코드가 비효율적이게 되고, 프로젝트가 커지게 되면 코드를 관리하기 힘들어지게 될 것입니다.
따라서 싱글톤 패턴을 사용하게 되면 GameManager를 하나의 인스턴스로 선언하여 모든 스크립트에서 접근 가능하게 하고, 인스턴스 간 간섭을 피하고, 메모리를 적게 하게 할 수 있게 해줍니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameManager : MonoBehaviour
{
public static GameManager GM;
void Awake()
{
if(GM == null)
{
GM = this;
}
else
{
Destroy(gameObject);
}
}
}
|
위의 코드가 싱글톤 패턴을 사용하는 방법입니다.
728x90
'Unity' 카테고리의 다른 글
[Unity] 델리게이트가 뭐야? (0) | 2020.06.02 |
---|---|
[Unity] 생명 주기가 뭐야? (0) | 2020.06.01 |
[Unity] 오브젝트 풀링은 뭐야? (0) | 2020.05.23 |
[Unity] 퀘스트를 만들어보자(4) (0) | 2020.05.18 |
[Unity] 퀘스트를 만들어보자(3) (0) | 2020.05.17 |