void Awake() { jumpMachine = new BehaviourStateMachine <IJump, JumpStates>(new Dictionary <JumpStates, IBehaviourState <IJump, JumpStates> > { { JumpStates.OnGround, new OnGroundState() }, { JumpStates.Jump, new JumpState() }, { JumpStates.AirTime, new AirTimeState() }, { JumpStates.Falling, new FallingState() } }, this); jumpMachine.ChangeState(JumpStates.OnGround); rigidbody = gameObject.GetComponent <Rigidbody>(); }
void Awake() { movementMachine = new BehaviourStateMachine <IMove, MovementState>(new Dictionary <MovementState, IBehaviourState <IMove, MovementState> > { { MovementState.NotMoving, new NotMovingState() }, { MovementState.Acceleration, new AccelerationState() }, { MovementState.MaxSpeed, new MaxSpeedState() }, { MovementState.Deacceleration, new DeaccelerationState() } }, this); movementMachine.ChangeState(MovementState.NotMoving); m_rigidBody = gameObject.GetComponent <Rigidbody>(); }