Game Programming/Game Engine

Unity3D :: Singleton (싱글톤)

VallistA2015. 3. 28. 14:31

유니티에서는 GameObject 단위로 오브젝트들을 관리를 하기 때문에 C#에서 쓰는 평범한 방법으로는 구현을 하지 못한다.

하지만 유니티에서 객체단위의 필요한 오브젝트들을 관리하기 위해서는 꼭 필요한 것이 Singleton 인데, 구현을 어찌 해야하는가? 에 대한 의문이들어 조금 삽질을 해보았다.


여러가지 방법이 있는데 그 중에서 확답은 못하지만 내가 사용하는 방법에 대해 나눠보고자 한다.


1.



상당히 일반적인 방법이다. MonoBahaviour 에서 지원해주는 FindObjectOfType의 방법으로 사용하게 된다.

FindObjectOfType을 사용하여, 게임내에서 오브젝트 타입을 검출하여 얻는 오브젝트를 반환해준다. 만약 오브젝트가 없으면 반환을 null로 하며, Debug로 실패했다고 메시지를 준다.


2.



좀 더 안전하게 가져올려면 이 방법을 쓰면 될 듯하다.

Singleton을 Generic으로 빼서 재사용성을 극대화 시키는 방법도 존재한다.


3.



이렇게 써주면 극대화 된 제너릭 싱글톤이 완성된다.

댓글

댓글쓰기 폼

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.

자고 싶습니다. ㅠㅠ

페이스북    :: 링크
카카오톡    :: kingbye1
Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today : 14

Total : 417,259

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘