🎮 오늘 한 일
1. Pause UI 개선
- Pause → Resume → Pause 루프에서 두 번째 Pause 시 UI가 뜨지 않던 버그 수정
- UIManager.Open<PauseUI>() 호출 시 Open() 함수에서 버튼 패널 상태를 초기화하도록 수정
- PauseUI.Open() 오버라이드하여 buttonPanel, resumePanel, countdownText 상태 초기화 추가
2. Resume 버튼 이벤트 방식 통일
- OnClick()을 코드에서 할당하도록 변경하여 Prefab 내 미리 연결해둔 함수 제거
- Awake()에서 resumeButton.onClick.AddListener(OnClickResume) 명시적으로 할당
3. GameOver UI 버튼 기능 수정
- GameOverUI.cs에서 홈 / 리트라이 버튼을 직접 AddListener()로 연결
- Inspector 상에서 None (Button)으로 유지되도록 하고, 런타임에 동적으로 연결
4. ButtonPanel / ResumePanel 누락 문제 해결
- 프리팹에서 해당 필드가 할당되지 않아 null 참조 발생
- Inspector에서 PauseUI의 buttonPanel, resumePanel 필드를 올바르게 연결하여 해결
🧠 배운 점
- Unity에서 Button의 OnClick 이벤트는 코드로도 확실히 관리 가능하므로, 프리팹 간 충돌을 줄이려면 이 방식을 고려할 수 있음
- UIBase.Open()을 오버라이드할 때 초기 상태 세팅은 매우 중요하며, 다음에 다시 열릴 때 문제를 방지해줌
- Prefab의 필드 누락은 런타임 NullReferenceException으로 이어지므로 반드시 Inspector 확인이 필요
'TIL' 카테고리의 다른 글
ATM 시스템 UI 구성 및 데이터 연동 구현 (1) | 2025.06.05 |
---|---|
점수 시스템 도입 및 게임 흐름 연동 정리 (1) | 2025.05.31 |
Unity에서 씬 리로드 후 UI 재생성 및 충돌 처리 문제 해결 (0) | 2025.05.28 |
인게임 UI 구성 및 코인 연동 (0) | 2025.05.28 |
제네릭 기반 UI 시스템 구축 및 Resources 오류 해결 (0) | 2025.05.26 |