🎮 오늘 한 일
- MessagePopup 통합
- CheckPanel / YesNoPanel → MessagePopup 하나로 리팩토링
- YES/NO 버튼 자동 토글, Action onYes / onNo 콜백으로 재사용성 확보
- SelectAdventureUIController 개편
- 모든 경고·확인 창을 messagePopup.Open() 한 줄로 처리
- 스태미나/쥬얼 소모 로직을 UserDataManager API (UseStamina / UseJewel) 로 이관
- UserDataManager 싱글톤 작성
- Use / Add 계열 메서드 → 값 갱신 후 PublicUIController.Refresh() 자동 호출
- 실수 방지를 위해 리소스 부족 시 false 반환하도록 설계
- HUD 모드 추가
- HudMode.Character 등 새 모드 반영, UIManager OnSceneLoaded()에서 모드 스위칭
- 팝업 프리팹 정리
- Scene마다 중복 배치 없이 PublicCanvas 하위에 단일 팝업만 유지
🧠 배운 점 / 느낀 점
- “하나의 스크립트 + 다른 프리팹” 패턴
- 스크립트는 기능만, 시각/레이아웃은 프리팹이 맡게 하니 유지보수 부담 줄어듬
- Action 콜백 깔끔하게 쓰는 법
- onYes = null 기본값 덕분에 필요할 때만 함수를 넘기면 되고,
?.Invoke() 로 NPE 걱정도 끝.
- onYes = null 기본값 덕분에 필요할 때만 함수를 넘기면 되고,
- UI/Logic 분리
- “버튼 → Manager API 호출 → Manager 가 UI 갱신” 흐름이 확립.
덕분에 새 팝업이나 새 씬을 붙여도 로직 재사용이 편해졌다.
- “버튼 → Manager API 호출 → Manager 가 UI 갱신” 흐름이 확립.
'TIL' 카테고리의 다른 글
| [7/7] UI 에셋 리소스 받아서 교체 진행 (4) | 2025.07.07 |
|---|---|
| [7/4] 게임 MVP 제작을 위해 프로젝트 전체적으로 정리 (0) | 2025.07.05 |
| [6/27] 씬 전환 히스토리를 Stack 에 저장하여 뒤로가기 기능 구현 (0) | 2025.07.02 |
| [6/26] Battle UI Controller 구현 및 이미지 타입 공부 (0) | 2025.07.02 |
| [6/25] UI의 글씨와 배경 자동 리사이즈 (0) | 2025.07.02 |