본문 바로가기

유니티 게임 개발하기/2D 게임 개발일지

유니티 -다른 스크립트에 쉽게 접근! ( static instance ) 싱글톤 패턴

스크립트 안에서 static instance를 선언하면 해당 오브젝트가 아닌 다른 오브젝트 안의 스크립트에서도 그 기능을 불러와 쓸 수 있죠!


  한마디로, 설명하자면 한 개의 객체를 여러 군데에서 사용하기 위한 방법이 바로 이  Singleton 패턴이라고 할 수 있을 겁니다.


싱글톤 패턴은, 디자인 패턴 중에서도 굉장히 자주 쓰이는 패턴이죠, 굳이 유니티 뿐만 아니라 어디에서든 사용하기 좋고, 직관적인 편이에요.

 

Singleton패턴을 사용하는 법은 다음과 같습니다!

 


오늘 배운 것의 요점은,
이걸 사용하려면 초기화를 거쳐줘야 한다는 거였습니다.
예를 들면..


public static GameMgr instance;   //변수 선언부// 

void Awake(){ 
GameMgr.instance = this;  //변수 초기화부 // 



이 두가지가 들어가 있어야 하겠죠. 
이걸 넣고나면 다른 스크립트에서 쉽게 접근해서 사용이 가능합니다.

GameMgr.instance.내가 원하는 함수나 변수에 접근(); 

오늘은 이걸 이용해서 게임매니저 스크립트를 만들고, 
플레이어나 캐릭터가 죽을 때마다 게임메니저 안의 함수를 호출해서 해당 오브젝트를 삭제하는 식으로 바꿔 봤습니다.

왜냐하면 이렇게 해야지 캐릭터의 잔기가 남았을때 되살릴 수 있으니까! 
보스같은 경우에는 죽었을 때 다음 상황 컷신같은것도 진행이 되어야 하기 때문에 나중에 좀더 세세한 컨트롤을 하려면 이렇게 해 두는게 낫겟죠?

현재 플레이어 캐릭터는 정상적으로 죽었다 살아나니 기분이 좋군요!