오늘의 TIL
1. 강화 상태와 UI 데이터 일치 문제 해결
- 문제: 강화된 상태가 유지되지 않고, 화살표로 이동할 때 새로운 데이터가 로드되는 현상이 발생.
- 원인: UI가 슬롯의 강화된 데이터를 참조하지 않고, DataManager에서 새로운 데이터를 가져오는 방식으로 구현되어 있었음.
- 해결: 슬롯에서 넘겨받은 데이터를 기준으로 탐색하도록 수정하고, currentItem을 중심으로 데이터와 UI를 동기화.
2. 수정된 접근 방식
- 기존 방식: DataManager에서 데이터를 새로 가져와 사용 -> 강화 상태가 유지되지 않음.
- 새로운 방식: 인벤토리의 리스트를 참조하여 currentItem을 기반으로 탐색. 슬롯의 데이터를 유지하면서 화살표 이동 가능.
3. 주요 변경점
- SelectPreviousItem과 SelectNextItem에서 인벤토리 데이터를 활용하여 탐색하도록 수정.
- SetEquipmentData에서 슬롯 데이터를 직접 UI에 반영.
- 슬롯과 UI가 항상 동일한 currentItem 객체를 참조하도록 코드 재구성.
4. 배운 점
- 데이터 참조가 중요한 게임 로직에서는 일관된 객체 참조를 유지해야 한다.
- 화살표 이동과 같은 UI 상호작용에서도 데이터 동기화가 핵심이다.
- 기존 시스템에 대한 깊은 이해 없이 수정을 반복하면 같은 문제가 재발할 수 있다.
결론: 문제 해결은 단순히 코드를 수정하는 것이 아니라, 전체 시스템의 동작 방식을 이해하고 적절히 구조를 개선하는 과정이다.
'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글
TIL(Today I Learned) - 62 (2) | 2024.12.17 |
---|---|
TIL(Today I Learned) - 61 (0) | 2024.12.16 |
TIL(Today I Learned) - 59 (0) | 2024.12.12 |
TIL(Today I Learned) - 58 (0) | 2024.12.11 |
TIL(Today I Learned) - 57 (0) | 2024.12.10 |