오늘은 본격적인 작업을 했다기 보다는 앞으로 작업해야 할, 리팩토링 작업에 대해 정리하는 시간을 가졌다.
구성한 시스템을 분류하자면 다음과 같이 있다.
이에 따라 핵심 시스템 요소가 들어가 있는 스크립트는 아래 4개 정도이고, 나머지는 전부 UI 표시를 위한 요소라고 봐도 무방하다.
현재 폴더별로 사용하는 코드와 추후 변경해야 할 코드도 정리했다.
사용하지 않거나 작동하지 않는 코드/이후 설계에서 빼도 되는 코드는 X표시, 시스템 요소인 코드는 파란색, 특이사항이 있는 코드는 노란색으로 적으면서 사유를 적었다.
표시하지 않은 나머지 코드는 전부 UI 로직 코드이다.
* 편성시스템 - TeamOrganizeManager(리팩토링하면서 시스템 로직만 따로 빼내야 할 필요성 있음)
* 랜덤 가챠 시스템 관련 로직 - RandomGachaSystem(리팩토링하면서 시스템 로직만 따로 빼내야 할 필요성 있음)
* 시간 관련 시스템 로직 - TimeManager(1차 리팩토링 완료)
* 가중치 확률 시스템 - WeightedRandom (범용적으로 사용하기 위해 가져온 것)
* 임시 데이터 매니저 - TempDataManager(편성 시스템 관련 데이터 저장 - TeamOrganizeManager의 시스템 로직을 여기로 옮기는 방법 고민중)
4개의 시스템을 정리해야 하는 방식은 다음과 같다
-> 이에 따라 전체 UI가 동작하는 로직 : TempDataManager에 캐릭터 전체 데이터베이스SO를 캐싱해 둔 다음 해당 데이터를 참고하여 캐릭터의 표시를 함.
가장 간단하게 처리할 수 있는 방법은 이렇다고 생각했다. 이와 같이 구조를 개선한 다음 파이어베이스 DB에 해당 내용을 저장하고 로드하는 로직만 잘 설정하면 문제없이 작동할 것이라 기대한다.