본문 바로가기

Unity

[Unity] 싱글톤 패턴은 뭐야?

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