못 풀었던 양궁대회 문제를 다시 시도해보다가 막혀서
머리 식힐 겸 다른 문제를 풀었다.
애니메이션의 기반도 잡았으니 원래하려던 스킬 시스템을 만들어볼 차례다.
스킬도 캐릭터처럼 추가하기 용이하도록 구성해보려고 했다.
먼저 필요할 것으로 예상되는 내용을 정리했다.


처음에는 스킬의 데이터 모델과 실제 행동을 분리하는 구조를 생각했다.
그래서 하나의 스킬은 내부적으로 여러 스킬 액션으로 기능을 구성할 수 있도록 구조를 잡았다.

스킬 데이터 모델은 엑셀로 데이터를 받을 수 있게 만들려했다.

여기서 액션은 리스트로 받도록했고 구성은 다음과 같다.

각각의 스킬 액션은 enum 값으로 가지고 있다가 SkillActionFactory를 통해서 받아온다.
반환한 스킬 액션은 모두 아래처럼 ISkillAction 인터페이스를 구현하고 있다.

세부적인 구현은 각각의 하위에서 맡도록한다.
다음은 공격 액션의 내용이다.

기반 작업은 이 정도로 해두고 일반 공격을 스킬 데이터로 처리하여 반영하도록 해야겠다.