Skip to content

develop LevelUpUISystem

pianop edited this page Feb 19, 2023 · 17 revisions

레벨업 UI 시스템을 관리

image
레벨업 UI는 총 3개로 나뉜다.

  1. 소지한 장비와 장비의 레벨을 나타내는 ItemUI
  2. 현재 스탯을 보여주는 StatUI
  3. 뽑기 목록을 보여주는 PickUpUI
  • tempLevelUp은 아직 경험치에 의한 레벨업이 연결되지 않았기에 임시로 레벨업 시키는 버튼을 만들어 놓은 것입니다.

TODO: 아이템 이미지들을 연결할 필요가 있음(WeaponImages, AccessoryImages, EtcImages)
image
(Hierarchy의 LevelUpUI의 Inspector창)

목차

Summary

  1. ItemUI: 유저의 무기, 악세서리를 받아와서 현재 레벨과 함께 이미지로 출력
  2. StatUI: 유저의 Stat 데이터를 받아와서 텍스트로 출력
  3. PickUpUI: 뽑기 목록에 들어갈 장비 데이터들을 받아와서 유저가 선택할 수 있도록 버튼으로 출력
  4. 위의 레벨업 UI들 등장할 때 애니메이션 추가(여기부터 미완)
  5. 일시정지
  6. 인게임 약간 암전

Start_UnloadLevelUpUI

image
image
image
레벨업 할 때만 보여야하는 UI이므로 비활성화 처리를 미리 해줍니다, 추가로 나중에 활성화 했을 때 모든 세부 UI들(위의 이미지의 레벨을 나타내는 이미지 참고)이 활성화되면 안 되므로 해당 세부 UI들도 추가로 비활성해 해줍니다.

  • image
  • image
  • Image들은 .enabled = false로, GameObject들은 .SetActive(false)로 비활성화 처리를 해주었습니다.

LoadLevelUpUI

image
LoadLevelUpUI: 레벨업 했을 경우 호출되는 함수로 캐릭터의 스탯, 랜덤 뽑기로 추출된 아이템들, 캐릭터 소지 장비들을 넘겨 받아서 UI에 표시한다.
뽑기 목록을 클래스 변수로 따로 저장하는 이유는(mPickUps 부분) 이후에 유저가 선택한 레벨업 보상을 적용할 때 사용하기 위해서이다. (ClickPickButton에서 설명)

SetPickUpUI

image
image 제목 없음
각 버튼마다 해당하는 뽑기로 나온 아이템을 배치해주는 함수이다. (pickUp의 각 Tuple은 <Item type, Item index, 0: new/ 1: old>를 의미한다. 해당 아이템의 이미지, 이름, 설명, New를 연결해준다.

  • image
  • getSprites: pickUp의 Type(item1)을 넣어주면 해당 타입의 이미지 배열을 반환해주는 함수
  • image
  • transPickIndexToEnumString: 장비 타입(무기, 악세, 기타)와 해당 타입의 index번호를 받아서 아이템의 이름을 반환해주는 함수이다. index 번호를 Enums의 해당 타입으로 캐스팅한 후 .ToString으로 해당하는 장비의 이름을 호출

SetStatUI

image
image
StatVarText에 character의 Stat값들을 한 줄씩 스트링 형식으로 저장해줍니다. (스탯 값이 0인 경우는 '-'로 예외처리)

SetItemUI

image
image
(SetAccessoryUI도 위의 Weapon과 동일)
해당 장비의 이미지를 연결한 후 현재 레벨까지 MiniLevelImage[1]을, 아직 채우지 못한 레벨은 MaxLevel까지 Mini...[0]으로 연결해준다.

Clone this wiki locally