해결된 질문
작성
·
160
0
수강생들이 혹시나 동일한 경험할까봐 남겨둡니다.
실행
Lobby에서 InventoryUI 오픈
InventoryUI에서 EquipmentUI 오픈
ESC 입력하여 EquipmentUI 닫기
ESC 입력
InventoryUI 위에 게임을 종료하시겠습니까 ConfirmUI 오픈
InventoryUI 닫기
진행 이후 수정되었을 수도 있어서 적어만 둡니다.
아이템 장착 Pt.4
이전에 GoodsUI를 추가 하면서 OpenUI()
중 여는 ui의 siblingIndex를 childCount - 1
로 수정하였습니다.
하지만 CloseUI()
할 때 그 다음 lastChild를 childCount -2
로 조회하는 것으로 수정하지 않았습니다.
이 결과,
해당 재현 상황에서 UIManager의 CloseUI()
중 lastChild로 InventoryUI가 들어와야 하는데 GoodsUI로 들어오게 됩니다. GoodsUI는 BaseUI를 상속하지 않으므로 GetComponent<BaseUI> 후 설정되는 m_FrontUI가 null이 됩니다.
이후 ESC를 누르면 m_FrontUI가 null이므로 InventoryUI가 있음에도 게임 종료 ConfirmUI가 노출됩니다.
CloseUI시 frontUI에 GoodsUI가 아닌 그 다음 UI가 제대로 들어가게 하기.
UIManager.cs CloseUI()
수정하기
var lastChild = UICanvasTrs.GetChild(UICanvasTrs.childCount - 2);
답변 3
0
0
0