오늘은 해킹 시스템에 연결되는 HackingProgressUI를 만들고, HUD에서의 무기UI와 인벤토리 UI의 구조를 통합했다.
해킹 시 적 오브젝트 위에 실시간으로 뜨는 진행률 UI 프리팹을 설계했다.
해킹UI 흐름 정리
트러블 슈팅
SlotType별 슬롯을 매칭하는 로직 (IsMatchSlot)
무기 이름, 탄약, 스탯 추출 (GetWeaponName, GetWeaponAmmo, GetWeaponStat)
stat을 구조체로 정리
기존 WeaponUI, InventoryUI, QuickSlotUI. 또 앞으로 만들 무기 개조 UI에서 각각 다르게 관리하던 슬롯 매칭/ 무기 이름/ 탄약/ 슬롯 순서 관련 로직을 SlotUtility라는 static class로 통합했다.
SlotUtility 기반으로 리팩토링했다.
이를 통해 코드 중복을 제거하여 한결 깔끔해졌다.
미니게임을 열도록 요청할 때 열릴 UI를 미리 만들어보았다.
팀장님이 미니게임 로직을 완성했으니, 내일은 이를 UI에 연결하는 작업을 진행하도록 하겠다.
무기/슬롯 구조를 한 번에 공용화하여 HUD/인벤토리/개조/비교 등 어떤 UI도 쉽게 새로 만들거나 수정할 수 있도록 유틸리티 헬퍼를 도입했는데, 이를 통해 구조를 설계하니 한결 편리해졌다.
이전 개인 프로젝트나 학습에서 WorldSpace UI를 만들어봤는데, 이 때는 적에게 미리 달아놓는 방식을 채택했다. 하지만 이번엔 미리 만들어 놓는 것이 아닌 해킹을 시도할 때 ObjectPool 방식으로 생성하는 기능을 사용했다. 이를 다른 UI에도 쉽게 활용할 수 있을 것이라 기대해본다.
내일은 미니게임 UI를 연결하고, 맵 상호작용 요소들과 연결되는 UI들을 만들 예정이다.