캐릭터 테이블

엑셀로 캐릭터 및 스킬 테이블을 관리, 튜터님의 ExceltoJsonWizard를 사용해서 json으로 변환해서 사용.
구현
Character
- CharacterInfo 및 SkillInfo등 데이터를 Instance로 감싸서 갖고 있도록 함.
- ~Instance클래스는 Info를 담고 있는 플레이어가 실제로 갖고 있는 정보의 클래스.
- 캐릭터 강화 등을 확장이 있을 수 있어 Instance클래스로 관리하도록 함
- 스킬에 강화가 가능하다고 하면.. 스킬Instance을 characterInstance에 넣어야할 것 같기도.
- 스텟 및 hphandler등을 갖고 있어 캐릭터의 수치변화 상태를 갖고 있음.
- SkillBase를 상속받는 Skill들을 갖고 있음.
- Activator로 할당하고 있음. 리플랙션을 쓰는게 마음에 안듦. 고민중..
- 이동 등의 물리적 상태 변화는 Player 클래스에서 관리.
- 이 부분에 대해 고민 중... input 관리나 이동관리/상태관리, 현재 사용 캐릭터를 player 쪽으로 뺐는데.. 이동/상태관리를 character에 다시 집어 넣을까.. 그러기엔 케릭터간의 위치관리가 귀찮다. 그리고 Input 스크립트 때문에 초기화 타이밍 관리도 귀찮고.. 일단 이대로 두고 내일 튜터님께서 코드 부검 하실때 이게 문제면 알려주시지 않을까.
- Activator로 할당하고 있음. 리플랙션을 쓰는게 마음에 안듦. 고민중..
- CharacterInfo 및 SkillInfo등 데이터를 Instance로 감싸서 갖고 있도록 함.
Player
- Input 및 Character의 상태 관리
- 캐릭터의 위치관리
- CharcterController를 활용. 딱히 rigidbody를 활용한 물리상호작용이 필요 없을 듯함. 그 물리는 좀 유니티 틱한 물리느낌이 나서 오히려 별로이기도 함.
- 직접 vector 값을 컨트롤 해서 움직여주는게 보기 적당한 정도의 힘이나 속도 등을 컨트롤 해줄 수 있어서 좋음.
Skill
- 대쉬나 일반 공격도 Skill로 간주하여 관리하도록 함
- 대쉬도 다양한 형태일 수 있고, 쿨타임을 갖고 있고.. 스킬로 묶어서 관리하기 충분한 조건이라고 생각. 굳이 대쉬롤 따로 찢을 이유도 없다.
- 일반 공격도 다양한 형태가 있을 수 있어 Skill로 간주하여 관리.
- 대쉬나 일반 공격도 Skill로 간주하여 관리하도록 함
코드의 변경이 많이 일어나는 중이라 코드 상세는 다음에 첨부.
'Develop_Log' 카테고리의 다른 글
[내배캠 최종 프로젝트] 스테이지 및 캐릭터 데이터 구성 (0) | 2024.12.11 |
---|---|
[내배캠 최종 프로젝트] 공격 및 공격 범위 표시 (0) | 2024.12.06 |
[내배캠 최종 프로젝트] 맵 장애물 구현 (0) | 2024.12.03 |
[ScriptableObject Loader] Excel에서 SO로 만들기 (0) | 2024.11.24 |
[팀플젝 회고] 유니티 심화주차 (0) | 2024.11.22 |