초보 프로그램 개발자

[Unity] 싱글톤 패턴 본문

Unity

[Unity] 싱글톤 패턴

Ji_HG 2022. 12. 8. 18:56

학원 수업중 싱글톤 패턴은 Cocos2D에서도 배웠지만 C#스크립트에서 처음배우는것이여서 정리하려고 한다.

 

싱글톤 패턴 이란 단 하나의 객체를 가지는 것을 의미 한다.

싱글톤 패턴을 하는 이유는 다른 클래스간의 데이터공유가 좋기 때문이다.

 

싱글톤 패턴 제작하는 방법은

	private static BulletMng instance;

	public static BulletMng Instance {
		get {
			if (instance == null) {
				instance = FindObjectOfType<BulletMng>();
				if (instance == null) {
					GameObject go = new GameObject();
					instance = go.AddComponent<BulletMng>();
					DontDestroyOnLoad(go);
				}
			}
			return instance;
		}
	}

Bullet을 관리해주는 BulletMng를 만들었고, 그 안에 Bullet들을 관리해주기 위해 단하나의 Instance로 작업을 할수있게 만들었다.

instance에 아무것도 없다면 해당 스크립트가 들어있는 오브젝트를 찾아 넣어 주고,

그래도 instance에 아무것도 없다면 새로 생성해준다.

 

DontDestroyOnLoad() 는 씬이 이동될때 파괴되지 않아서 다른 씬에서도 BulletMng 스크립트를 사용할수 있다.씬마다 Bullet, 몬스터, 아이템 등등 매번 새로 만들필요 없이 스크립트를 살아있는상태로 넘겨주면 되기 때문이다.

'Unity' 카테고리의 다른 글

[Unity] 오브젝트 재활용  (0) 2023.01.10
[Unity] Bullet 스크립트 정리  (0) 2022.12.08
[Unity] Collider2D 정리  (0) 2022.12.07
[Unity] RigidBody2D 정리  (0) 2022.12.07
[Unity] SpriteRenderer 정리  (0) 2022.12.07