public void SetState(BallMoveState newState) { state = newState; switch (newState) { case BallMoveState.Idle: rb.isKinematic = false; defaultCollider.enabled = true; canBePicked = true; break; case BallMoveState.Moving: rb.isKinematic = true; defaultCollider.enabled = false; canBePicked = false; break; case BallMoveState.Spiky: canBePicked = false; defaultCollider.enabled = true; break; case BallMoveState.Blocked: canBePicked = false; rb.isKinematic = true; defaultCollider.enabled = false; break; } }
private void Awake() { StateMachine = new BallStateMachine(); AttachedToPlayerState = new BallAttachedToPlayerState(this, StateMachine, ballData); MoveState = new BallMoveState(this, StateMachine, ballData); }