주요 개선점
1. 커맨드 패턴을 도입
기존 설계
유닛의 이동, 공격, 대기가 모두 유닛 오브젝트의 컴포넌트 안에서 하드 코딩되어 있음. 다른 액션을 추가하려면 하나의 컴포넌트에 다 때려박아야 함. 확장성 문제 발생. 검사/아이템사 등의 잡이 다를 경우 고달퍼짐.
개선
일단 이동, 공격, 대기 액션을 모두 커맨드 패턴으로 갈라놓음. 견습검사는 이동, 공격, 대기 액션을 가지고 아이템사는 이동, 공격, 회복, 대기 액션을 가지게 함
2. 아이템사 회복 커맨드와 인공지능
커맨드 패턴으로 간단하게 아이템사의 회복 커맨드가 구현됨.
인공지능도 유닛 컴포넌트에 같이 있는 걸 분리시켜서 별도의 컴포넌트로 만듬
파판택의 아이템 인벤터리는 구현하지 않을 생각임.
3. 취소 기능
커맨드 패턴으로 간단히 현재 수행 도중인 커맨드를 취소할 수 있음.
4. 비동기 애니메이션의 동기화 콜백
딜레이를 주어서 UI 애니메이션 타이밍을 맞추었던 기존 로직을 없애고 반드시 애니메이션 종료 후 콜백으로 다음으로 넘어감. 이제 UI 최적화를 위해 특정 부분의 속도를 조절하여도 다른 곳에 사이드 이펙트가 발생 안함.
5. 메카님 스테이트를 FFani.Tween에서 조작
애니메이션 컨트롤러에서 애니메이션 클립을 등록하면 트랜지션, 변수, 트리거 설정을 하지 않고도 바로 스크립트에서 사용 가능. (완전히 필요 없지는 않지만 최소한으로 줄일 수 있음)
6. 게임 오버, 게임 클리어 로직 구현
람자가 죽으면 게임 오버, 적 모두를 퇴치하면 게임 클리어가 됨.
7. 그 외 자잘한 버그 수정, 시스템 개선
이걸로 게임 시스템 자체는 거의 완성됨. 특별히 새로운 기능을 추가하거나 하는 일은 없을 듯.
이제부터는 게임 렌더링 퀄리티나 UI쪽 개선을 중점으로 할 생각임.