본문 바로가기
게임 개발/[D2D_Portfolio] DirectX2D 포트폴리오 작업일지

18. Skill 클래스 구조화 / Skill State 구현

by 헛둘이 2023. 4. 1.

Skill 클래스 구조 작성

- Skill은 스컬이 사용하는 스킬이다.

- 스킬은 기본 캐릭터를 제외하고 모두 2개 이상의 스킬 종류를 가지며, 그 중 2개를 랜덤으로 보유한다.

- 따라서 스킬은 스컬 클래스에 포함되는 요소라고 볼 수 있다.

- 현재 내가 생각하는 구조는 플레이어 클래스에서 2개의 스컬을 가지며, 플레이어가 업데이트를 해준다.

- 스컬 클래스는 렌더링되는 부분(스프라이트, 애니메이션)과 각각 스컬이 가지는 고유 스킬을 보유하게 된다.

- 나머지 Collider, RigidBody, Physical에 관한 것들은 플레이어 클래스가 통틀어서 관리한다.

 

 

SkillState 구현

- SkillState는 스킬 키가 눌렸을 때 조건 검사를 해서 그 조건들이 모두 참이라면 플래그에 의해 다른 상태에서 전이된다.

- A, S는 스킬 키인데, 스킬 키가 눌린 경우 해당 스킬의 쿨타임이 지나서 사용할 수 있는지, 그리고 해당 스킬이 요구하는 조건을 만족했는지를 검사하고 모두 true라면 EnableSkillActiveFlag()에 의해 플래그가 켜지게 되는데, 스킬로 전이될수 있는 상태들(Idle, Walk 등)에서는 이 플래그값을 감시하고 있다가 true가 되는 순간 SkillState로 전이되게 된다.

- 스킬들 각각 별도로 애니메이션을 가지고 있어야 하고, 어떤 스킬은 즉시 발동되고 종료되기도 하고, 어떤 스킬은 긴 시간 지속되기도 해서 이런 변수들을 커버할 수 있는 구조를 만드려고 고민을 많이 했고 꽤 만족스러운 구조가 짜여졌다.

 

 

내일 할 일

- SkullThrowSkill 스킬 완성

- 던진 스컬 주워오는 스킬 작업

- Swap State 작성

댓글