✨ 1. 데이터에 따라 이미지 유무에 따른 UI 처리
if (data.hasImage)
{
imageObj.gameObject.SetActive(true);
imageObj.sprite = data.sprite;
}
else
{
imageObj.gameObject.SetActive(false);
}
BG, Image, Text 오브젝트가 데이터에 따라 유동적으로 반영될 수 있도록 조건 분기.
✨ 2. 동적 리스트 정렬 기능 구현
스킬 목록을 이름순 / 레벨순 정렬할 수 있도록 버튼에 따라 정렬 함수 적용:
skillList = skillList.OrderBy(x => x.name).ToList(); // 이름순
skillList = skillList.OrderByDescending(x => x.level).ToList(); // 레벨순
🔧 오늘 해결한 문제
❌ 스크롤뷰 내 오브젝트 정렬
미보유 → 보유 스킬 변화 시 정렬 문제
스킬 획득 시 리스트 상단으로 자동 정렬 필요.
✅ 해결 방법
→ 동적 정렬을 위해 List.Sort() 사용 후 LayoutGroup의 SetLayoutHorizontal / SetLayoutVertical 호출 또는 LayoutRebuilder.ForceRebuildLayoutImmediate()로 강제 갱신.
❌ UI 팝업 중복 방지 및 팝업 상태 확인
팝업이 열려있는 동안 다른 팝업이 열리지 않도록 하기
✅ 해결 방법
if (Global.Popup.IsOpenedPopup()) return;
Global.Popup.IsOpenedPopup() 로 현재 팝업이 열려있는지 여부 확인 가능.
팝업 닫힌 후 처리도 PopupSystem.SetEvent() 메서드로 콜백 등록 가능.
팝업이 하나라도 열려있으면 OpenPopup()이 동작하지 않도록 조건 검사 필요.
'Today I Learn' 카테고리의 다른 글
📅2025.05.27 | TIL - 스킬 레벨업 기능 구현 및 디버깅 (+본 형태 Sprite) (0) | 2025.05.28 |
---|---|
25/05/14 | TIL UIMainLobby 기본 구성 (1) | 2025.05.14 |
25/05/07 | TIL 바로인턴 1일 + UI구조 (0) | 2025.05.07 |
25/04/30 | TIL Ref와 Out정의하기 (0) | 2025.04.30 |
25/04/29 | TIL RayCast 재정의하기 (0) | 2025.04.29 |