[내일배움캠프 TIL] 33. 장비 장착 시스템

2023. 11. 6. 23:27내일배움캠프 Unity

[최종프로젝트 5]

오늘 작업은

1. 장착 UI 제작

2. 장착 시스템 제작

3. 아이템 장착시 인벤토리 반영

4. 아이템 장착시 플레이어 스탯 반영

 

1. 장착 UI 제작

  • 장착아이템의 종류는 현재 2가지 Armor와 Weapon으로 설정했다.
  • 아래 3칸은 이후에 사용할 퀵슬롯 아이템이며 퀵슬롯에 장착하고 사용하는 개념으로 장착UI에서 관리한다.

 

2.  장착 시스템 제작

  • 플레이어가 가지는 Equipment 스크립트에서 장비 아이템을 장착하면 ChangeEquipItem 메서드를 호출해 아이템의 type이 Weapon인지 Armor인지에 따라 해당하는 배열에 아이템을 대입한다.
  • const int WEAPON = 0, ARMOR = 1;로 인덱스를 작성해 이해가 쉽다. 이후 장착아이템 타입이 늘어나면 늘려줄 필요가 있다.
  • 현재 Armor 아이템이 없어 다른 아이템의 type만 변경해 장착해보았음. 문제 없이 잘 되는 모습

 

3. 아이템 장착시 인벤토리 반영

  • 장비 아이템 장착시 기존에 아이템 개수를 표시하는 amountText부분에 "E" 표시
  • 인벤토리 슬롯 스크립트에서 개수가 있는 아이템이면 amountText에 개수를 표시하고 아니라면(장비 아이템이면) 텍스트 초기화 후 "E"를 대입
  • Item클래스의 Equip()을 통해 "2. 장착시스템"에서 작성한 ChangeEquipItem()을 호출, type검사와 nul 검사 또한 해당 메서드(ChangeEquipItem())에서 진행

 

4. 아이템 장착시 플레이어 스탯 반영

  • 장착중인 아이템의 power를 플레이어 스탯에 더하는 방식으로 반영
  • 버리거나 교체 등 장착이 해제될 때 기존의 장비 아이템의 power를 플레이어 스탯에서 빼기
  • 이후 플레이어 담당자와 조율 예정

 

[ 추가할 것]

  • 장착 아이템과 같은 아이템도 E표시 되는 문제 있음
  • 아이템 버리기 기능 추가하기, 소모품일경우 몇개 버릴지 묻기, 장비 아이템일경우 한번 더 확인하기
  • 아이템 장착시 플레이어 스탯 반영, 플레이어 스크립트에서 작성하기