-
Notifications
You must be signed in to change notification settings - Fork 2
develop Weapon Accessory Management
여기서 말하는 "장비"라 함은 무기와 악세서리를 총칭하는 말입니다.
무기 관련 함수는 Weapon.cs에, 악세서리 관련 함수는 Character.cs에 있습니다.
- 무기의 1레벨 기본 값과 레벨업시 올라가는 스텟, 수치를 전처리로 저장해주기
- 장비를 처음 획득할 때 처리할 함수와 이후 업그레이드를 처리해줄 함수를 작성함
무기 획득시 적용되는 기본 무기 스탯값들을 전처리하는 함수
defaultWeaponStats[무기 index, 스탯 index] = 기초 스탯 값
Constants.X는 -1f를, Constants.INF는 1e10f를 의미하는 상수.
무기 종류별로 레벨업함에 따라 올라가는 무기 스텟값을 전처리하는 함수
WeaponUpgrade[무기 index][무기 level(레벨업 후)] = 해당 레벨에 올라가는 List< Tuple<스탯 index, 올라가는 수치>>를 반환, 한 번의 레벨업으로 여러 스탯이 올라가는 장비가 있기에 List를 하나 더 붙여주었음
0레벨은 없고 1레벨에는 업그레이드를 하지 않으므로 더미 값을 넣어주었음
위 함수의 액세서리 버전
위의 weaponUpgrade의 경우와 동일하나 1레벨 때의 기본 값과 업그레이드 시 올라가는 방식이 같아서 Upgrade하나로 처리함. 때문에 1레벨부터 적용되므로 0레벨에만 더미 값을 넣어주었음.
인자로 획득한 무기의 index를 받아서 해당 무기를 Weapons에 추가해줌
획득한 무기의 index가 가지고있는 Weapons(Weapon 리스트)의 몇 번째 index에 있는지를 넣어줌(없는 장비라면 -1가 기본 값)
WeaponSetting()은 Weapon이 생성될 때 처리해야 하는 과정을 맡은 함수, 생성자를 사용하지 않은 이유는 유니티는 : MonoBehaviour가 붙은 클래스를 new로 생성하면 안되기에 Player 오브젝트에 Component로 생성된 Weapon을 붙여주고 생성자 역할을 해줄 함수를 따로 만들었음
새로 무기가 추가됨에 따라 뽑기 테이블 수정이 필요해져서 UpdateWeaponPickUpList 함수를 호출함
- 작성중