Player FSM
유한 상태 기계 (Finite State Machine, FSM)
- 유한한 개수의 상태(State)들로 구성된 기계
- 동작 기반 시스템 : 상태와 상태 간의 전환을 기반으로 동작
- 상태, 전환 조건, 동작으로 구성
동작 원리
- 최초 상태로 시작, 입력이나 조건에 따라 상태를 전환
- 전환 조건을 충족할 때 상태를 전환, 전환 조건은 입력, 시간, 조건 등으로 결정
- 상태 전환 시 이전 상태의 종료 동작과 새로운 상태의 진입 동작이 수행
적용
- PlayerBehavior : 상태머신, PlayerInput을 가짐
- PlayerInput : 가상 조이스틱의 Direction을 Input으로 가져옴
- PlayerBehavior의 Update, FixedUpdate에서 각 상태의 HandleInput, Update, PhysicsUpdate 호출
- 상태 전환 메서드에서 현재 상태의 Exit 호출 후 상태 전환, 전환된 상태의 Enter 호출
- Attack Button을 누르면 PlayerBehavior의 Attack 메서드 호출
- Attack 메서드에서 PlayerStateMachine의 bool IsAttacking을 true로 바꿔 Attack 상태 전환 조건을 충족시켜 상태를 전환시킨다.