
먼저 ScriptableObject를 생성하고 모든 개체가 가져야 할 필수 변수를 선언한다

클래스를 직렬화해서 사용할것이기 때문에 Serializable을 사용하고, 클래스 내부에 스크립터블의 객체를 참조해서 생성 할 포켓몬 객체의 level, curExp, curHp변수를 PokeManager를 통해 설정 해줄것이다.

GetExp의 매개변수만큼 경험치가 증가하고 경험치가 PokeClasses.maxExp 즉 최대 경험치를 증가할때 레벨업 기능을 추가 해준다 이부분은 수정할 것이 많아 추후에 변경 할 예정이다.

최대체력 증가와 데미지를 받으면 curHp를 Mathf.Max로 curHp가 0보다 작게 되는경우를 방지하기 위해 Max를 사용하고 Heal함수의 경우 최대체력보다 curHp가 놓으면 안되기 떄문에 GetMaxHp()에서 받아온 최대체력과 curHp + amount를 비교해 더 낮은 값을 curHp에 저장하게 설정하였다.

테스트를 진행하기 위해 new PokeManager를 통해 scriptableObject 객체를 넣고 실행 해보면



스페이스바 10번 -> 체력 30
키보드 1번 30번 -> 죽음
이렇게 구현이 되었는데 체력과 밸런스 조절이 필요해 보인다