2025. 12. 16. 23:02ㆍ본 캠프

EventBus구조를 통한 형식으로 UI신을 별도로 분리해서 사용하는 방식은 UI신이 많을 수록 더 좋지만
지금 프로젝트에서는 UI 기능구현이 나 혼자기에 별도의 UI신 하나에서 모든 UI를 처리하기 위해 Canvas를 여러개로 나눴다.
HUD/Menu/InGameMenu/Result/Popup으로 크게 5가지를 일단 나눠놨는데
기존의 프로젝트에서는 GameManager가 싱글턴으로 UIManager를 통해 하위의 UI를 관리했지만
지금의 구조상에서 GameManager는 지금 Additive Scene도 모르고 UI가 어떻게 작동하는지 모르는 상태다.
단순히 신호만을 주고 받기 때문에 추후에 GameManager에서 발행시점만 정해주면 된다.
인게임메뉴에서나 메인메뉴에서 쓰는 공통적인 사운드옵션의 경우에는 Popup형식으로 노출되게 별도로 빼주었다.

EventStruct에는 팀원들과 공유하고 공통의 이벤트를 알 수 있게 별도로 cs파일에 구분해서 찾을 수 있도록 구성했다.

GameManager가 Phase 단계별로 게임의 상태를 구분하기에 UI도 거기에 맞춰 CurrentState에 따라 어떤 UI를 출력할 수 있게 할지 UIStateManager를 두고 관리한다.
추후 팀원과의 결과물을 합칠 때 얼마나 오류가 안나느냐가 관건인 작업과정이라 조금 두렵긴 하지만
EventBus 구조를 채용했기에 초기화타이밍만 잘 조절하면 문제가 없을 것이라 예상해본다.
이후 UI 데이터처리를 받아서 정산/결과 패널을 만들고 연결하면 대략적인 UI작업은 끝나고
이제 '상세보기' 기능을 수정해서 만들어야 할 거 같다.
'본 캠프' 카테고리의 다른 글
| [내일배움캠프 본 캠프 58일차] UI작업_RawImage 기반 상호작용 (0) | 2025.12.18 |
|---|---|
| [내일배움캠프 본 캠프 57일차] UI작업_RawImage (0) | 2025.12.17 |
| [내일배움캠프 본 캠프 55일차] UI 작업_ Event Bus 연결 (0) | 2025.12.15 |
| [내일배움캠프 본 캠프 54일차] 사물을 확대해서 돌려보기_1 (0) | 2025.12.12 |
| [내일배움캠프 본 캠프 53일차] 볼륨/비네팅 DOTween (0) | 2025.12.11 |