🎮 오늘 한 일
- SceneManagerEx 싱글톤 구현
- LoadScene(), LoadPreviousScene() 을 통해 씬 이동을 제어
- 씬 전환 히스토리를 sceneStack 에 저장하여 뒤로가기 기능 구현
- DontDestroyOnLoad 로 로비씬에서 생성된 매니저를 유지시킴
- 뒤로가기 버튼 공용화
- SceneBackButton 스크립트 생성 → SceneManagerEx.Instance.LoadPreviousScene() 호출
- 이 스크립트를 적용한 SceneBackButton 프리팹을 제작해 씬마다 재사용
- 덕분에 OnClick() 연결이 쉬워졌고, 직접 코드로 AddListener() 안 써도 됨
- 씬 이동용 버튼도 공통 처리
- SceneLoadButton 스크립트 작성 → sceneName 을 인스펙터에서 설정해 LoadScene() 호출
- 모양이 다른 버튼에는 프리팹이 아닌 개별 UI에 스크립트만 붙여서 사용
🧠 배운 점 / 느낀 점
- OnClick 연결: AddListener vs Inspector
- AddListener 는 런타임 제어가 가능하지만, 코드 복잡성과 디버깅이 어려움
- Inspector 연결 방식이 직관적이며, 현재 팀 내 스타일과도 부합해서 채택
- 단, 씬 간 이동 시 오브젝트가 사라지면 Inspector 연결이 끊어질 수 있음 → 싱글톤으로 해결
- 왜 래퍼 스크립트를 따로 만드는가?
- 씬 내에서 SceneManagerEx 가 직접 존재하지 않아도 동작하도록 하기 위함
- 연결할 함수가 Instance.Method() 형태이므로, MonoBehaviour 위에서 중계가 필요함
'TIL' 카테고리의 다른 글
| [7/4] 게임 MVP 제작을 위해 프로젝트 전체적으로 정리 (0) | 2025.07.05 |
|---|---|
| [7/3] 여러 판넬들 대신 하나의 판넬이 모든 역할을 하도록 리팩토링 (0) | 2025.07.04 |
| [6/26] Battle UI Controller 구현 및 이미지 타입 공부 (0) | 2025.07.02 |
| [6/25] UI의 글씨와 배경 자동 리사이즈 (0) | 2025.07.02 |
| [6/24] 다용도로 쓸 팝업 제작 및 여러 UI 세팅들 실험 (0) | 2025.07.02 |