1. UI 이벤트 구독 문제 해결
- UIManager에서 각 UI 패널(Title, InGame, GameOver, Pause, InGameDescriptionPanel) 관리 및 이벤트 구독 문제를 다루었다.
- GameManager에서 발생하는 다양한 이벤트(OnTitleScreen, OnGameStart, OnGameOver, 등)에 맞춰 UIManager가 올바르게 구독하고 UI를 업데이트하도록 조정.
- 특히, InGameDescriptionPanel이 게임 시작 시에 자동으로 표시되며, 사용자 입력 후 게임이 진행되도록 처리.
2. 게임 상태 관리 개선
- GameManager에서 게임 중단 및 재개 시 Time.timeScale을 조정하여 게임의 모든 요소가 올바르게 일시 정지 또는 재개되도록 구현.
- TogglePause 메서드를 통해 플레이어 이동 및 UI 변경이 통합 관리되도록 설정.
- GameOver 상황에서도 isPaused 상태를 고려하여 중복된 일시정지 창이 표시되지 않도록 조정.
3. 설명 패널의 초기 로드 설정
- 인게임 씬에 진입할 때 설명 패널이 자동으로 표시되도록 SceneManager.sceneLoaded와 OnGameStart를 활용하여 흐름을 개선.
- ShowInGameDescriptionPanel을 통해 패널이 뜨고, 사용자 입력 후에 게임이 시작되도록 조정하여 사용자 경험을 높였다.
4. 아이콘 깜박임 이펙트 자연스럽게 구현
- 능력 사용 시 깜박이는 이펙트가 더 부드럽고 자연스럽게 보이도록 Image의 투명도를 천천히 조절하는 로직을 추가.
- 사용자가 능력 아이콘을 통해 능력 상태를 직관적으로 확인할 수 있도록 설계하였다.
오늘의 배움:
- 게임의 일시정지, 게임오버, 시작 등의 상태 변화가 UI와 밀접하게 연동될 때, 각 상태와 UI 간 이벤트 구독 관계를 명확하게 하는 것이 중요하다는 것을 배웠다.
- 효과적인 UI/게임 상태 관리에는 SceneManager와의 연동 및 중앙 관리 클래스(GameManager)의 역할이 매우 크며, 이를 활용해 흐름을 보다 직관적으로 구성할 수 있었다.
'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글
TIL(Today I Learned) - 38 (0) | 2024.11.12 |
---|---|
TIL(Today I Learned) - 37 (1) | 2024.11.12 |
TIL(Today I Learned) - 35 (1) | 2024.11.04 |
TIL(Today I Learned) - 34 (0) | 2024.11.01 |
TIL(Today I Learned) - 33 (0) | 2024.10.31 |