public virtual void SetMoveState(UnitMoveState state) { // if currentMovementState does not allow overrides, return if (currentMovementState != null) { currentMovementState.OnStateExit(); previousMoveState = currentMovementState; } currentMovementState = state; if (currentMovementState != null) { currentMovementState.OnStateEnter(); } }
//[Space(10)] // Start is called before the first frame update void Start() { idleState = new IdleState(this); }