유니티에서 Singleton 사용
유니티에서는 스크립트가 오브젝트의 컴포넌트로 사용되기 때문에
오브젝트 없이는 스크립트를 사용할 수 없다.
하지만 싱글턴 패턴을 사용하면 스크립트를 오브젝트의 컴포넌트로 연결시키지 않고도 사용할 수 있다.
주로 무언가를 관리하는 매니저 클래스를 구현할때 사용한다.
코드
public class StateManager: MonoBehaviour {
// 싱글턴 클래스를 구현한다.
private static StateManager instance; // private static 으로 선언 ( 중요 ).
public static StateManager Instance // public static 으로 선언 ( 중요 ).
{
get // set 이 아닌 get 이다 !
{
if(instance == null)
{
instance = new StateManager ();
}
return instance;
}
}
// 멤버 변수
privateint State;
// 멤버 함수
public SetState( int state ){
State = state;
}
}
// 외부 스크립트에서 사용 예시
public class Class1: MonoBehaviour {
void Start(){
StateManager.Instance.SetState( 1 );
}
}
참고 사이트
http://clairehyunjunglee.blogspot.kr/2012/12/singleton-in-c.html
http://wiki.unity3d.com/index.php?title=Singleton#Generic_Based_Singleton_for_MonoBehaviours
'Unity > Tips 13.05.06' 카테고리의 다른 글
[ 유니티(Unity 3D) 팁 ] 스크립트에서 MenuItem 실행하기 (0) | 2013.05.19 |
---|---|
[ 유니티(Unity 3D) 팁 ] Editor 스크립트에서 팝업창 띄우기 (0) | 2013.05.19 |
[ 유니티(Unity 3D) 팁 ] Popup GUI 함수 정보 (0) | 2013.05.19 |
[ 유니티(Unity 3D) 팁 ] 스크립트로 빌드하기 (0) | 2013.05.19 |
[ 유니티(Unity 3D) 팁 ] 문자열 뒤쪽 삭제하기 (0) | 2013.05.19 |