[UNITY] 싱글톤 패턴 기본 코드
클래스 구조에서 공통적으로 사용하는 전역변수나 리소스,
데이터를 싱글톤으로 따로 정의해서 어디서나 접근 가능하도록 할 때 주로 사용한다.
공통된 데이터를 한 곳에서 관리하는 만큼 제어하기가 용이하다.
다만, 싱글톤 클래스에 너무 많은 기능을 넣어버리면
게임 볼륨이 커졌을 때 오히려 더 관리하기 힘든 경우가 발생할 수 있다.
싱글톤 클래스가 상속하는 것이 많아질 수록 각각의 기능의 모듈화가
제대로 이루어지지 않을 수 있기 때문이다.
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 27 | using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class GameInstance : MonoBehaviour { public static GameInstance instance; void Awake() { // 처음 초기화 될 때 인스턴스가 비어있으면 자신을 넣어준다. // 그리고 씬이 바뀌어도 현재 게임오브젝트(instance script가 담겨있는 게임오브젝트)가 파괴 되지 않게 해준다. // 그리고 이미 인스턴스가 존재한다면 현재 게임오브젝트를 파괴시켜준다. if (!instance) { instance = this; DontDestroyOnLoad(this.gameObject); } else { Destroy(this.gameObject); } } } | cs |
댓글
댓글 쓰기