본문 바로가기

TIL(Today I Learned)/오늘 무엇을 배웠을까

TIL(Today I Learned) - 60

 

오늘의 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