코드 전시관(8)
-
[HappyKit] 다양한 Singleton 구현
HappyKit : https://github.com/HappyFaceFriend/HappyKit GitHub - HappyFaceFriend/HappyKitContribute to HappyFaceFriend/HappyKit development by creating an account on GitHub.github.com 유니티 개발을 하다보면 항상 싱글턴을 만들게 되는데, 사용하다보면 다양한 종류가 필요해집니다.싱글턴이 하나의 인스턴스를 갖는다는 특징보단 전역적인 접근을 위해 사용하다보니, 여러 use case가 나오는 것 같습니다.최근에는 RuntimeInitializeOnLoadMethod 를 활용해 싱글턴을 만들다보니 싱글턴을 직접 Instantiate 해야하는 경우가 많아, 그 함수를 추가해..
2024.10.29 -
[Unity] NestedClassMirror - Nested Class를 인스펙터에서 사용하기
지금 진행하는 프로젝트에 다양한 장비를 여러 개 장착하는 기능이 있습니다.여기서 각 부품은 0~3개의 다양한 스킬을 가지고 있습니다.이전 프로젝트에서 스킬들을 컴포넌트로 관리하는 것이 유리하다는 것을 알고 있었습니다. 그런데 이 스킬들을 모두 다른 컴포넌트로 사용하려면 다른 .cs파일을 사용해야합니다.장비와 스킬의 종류가 많아지면 이것들을 수정하는 것도 굉장히 힘든 일이 됩니다.그래서 스킬들을 각 장비의 Nested class로 사용하려 했는데, 유니티에서 Nested class는 컴포넌트가 될 수 없습니다.(한 스크립트에 한 컴포넌트만 사용할 수 있습니다) 처음에는 각 장비에 모든 스킬에 대한 정보를 인스펙터에서 받게 했었는데,장비에 스킬이 두세개씩 달리면서 이름 짓기도 힘들고, 무의미하게 변수들을 복..
2024.10.12 -
[HappyKit] C# Extension Method를 활용한 Vector 변환 기능
HappyKit : https://github.com/HappyFaceFriend/HappyKit GitHub - HappyFaceFriend/HappyKitContribute to HappyFaceFriend/HappyKit development by creating an account on GitHub.github.com 최근에 유니티 개발 중 DOTween을 사용하면서 이건 어떻게 만들었을까.. 하다가처음으로 C#의 Extension Method에 대해 알게 됐습니다.Extension Method는 간단하게 말해 static method를 이용해 어떤 클래스에 직접 메소드를 추가하는 기능으로, 상속 없이 기능 확장이 가능하다는 장점이 있습니다.왜 이제야 알았지 싶었지만, 지금까지 Vector나 Tr..
2024.05.04 -
[Unity] 원활한 카메라 활용을 위한 CameraToken
카메라 효과를 활용할 때마다 항상 고민하던 것은, 두 카메라 효과가 충돌하면 어쩌나다. 예를 들어, 플레이어의 스킬이 카메라를 움직이고있는데 스테이지가 클리어 돼 여기에 해당하는 카메라 움직임이 나와야하는 경우다. 물론 매 케이스마다 우선순위를 두거나 해서 이런 케이스를 처리할 수 있겠지만, 코루틴이 카메라 토큰을 부여받아 토큰을 가진 사용자(코루틴)만 카메라를 활용할 수 있게 하는 방법을 떠올렸다. 토큰을 받기 위해 대기하는 사용자들은 큐에 들어가며, 우선순위에 따라 이전 카메라 효과가 끝나면 토큰을 받는다. 대략적인 사용 예시는 아래와 같다. IEnumerator LastConnectionCameraCoroutine(LanternRelation relation) { CameraControlToken ..
2023.12.29 -
[HappyTools] GameBootstrapper, SingletonBehaviour
HappyTools 프로젝트 더보기 HappyTools는 Unity로 게임을 만들면서 자주 사용하게 되는 기능, 클래스 등을 모아두는 Utility 라이브러리입니다. 딱히 구조가 탄탄한 라이브러리는 아니고, 그냥 제가 개발하면서 썼던 기능들을 아카이브 해두는 용도입니다. 나중에 게임 프로토타이핑이나 게임 개발에 사용할 수 있도록 하는게 목표입니다. HappyTools Github : https://github.com/HappyFaceFriend/HappyTools GitHub - HappyFaceFriend/HappyTools: My own code base which consists of utilities and useful base classes. My own code base which consis..
2023.03.21 -
[HappyTools] StateMachineBase
HappyTools 프로젝트 더보기 HappyTools는 Unity로 게임을 만들면서 자주 사용하게 되는 기능, 클래스 등을 모아두는 Utility 라이브러리입니다. 딱히 구조가 탄탄한 라이브러리는 아니고, 그냥 제가 개발하면서 썼던 기능들을 아카이브 해두는 용도입니다. 나중에 게임 프로토타이핑이나 게임 개발에 사용할 수 있도록 하는게 목표입니다. HappyTools Github : https://github.com/HappyFaceFriend/HappyTools GitHub - HappyFaceFriend/HappyTools: My own code base which consists of utilities and useful base classes. My own code base which consis..
2023.03.13