private void Start()
 {
     stateLogic = GetStateLogic(isCrouching);
     state      = stateLogic.GetState(this, Vector3.zero);
     BroadcastState.Invoke(state);
     priorState = state;
 }
 public void ReceiveInput(Vector3 moveInput)
 {
     stateLogic = GetStateLogic(isCrouching);
     SetState(stateLogic.GetState(this, moveInput));
 }