public void RespondToRequest(MarioActionRequest change)
        {
            switch (change)
            {
            case MarioActionRequest.Jump:
                this.Mario.CurrentState = new BigJumpingRightFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.Crouch:
                this.Mario.CurrentState = new BigCrouchingRightFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.GoLeft:
                this.Mario.CurrentState = new BigIdleLeftFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.GoRight:
                this.Mario.CurrentState = new BigRunningRightFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.GoSmall:
                this.Mario.CurrentState = new SmallIdleRightFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.GoBig:
                break;

            case MarioActionRequest.GoFire:
                this.Mario.CurrentState = new FireIdleRightFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.GoMetal:
                this.Mario.CurrentState = new MetalIdleRightFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.TakeDamage:
                this.Mario.CurrentState = new SmallIdleRightFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.GoIdle:
                this.Mario.CurrentState = new BigIdleRightFacingMarioState(this.Mario);
                break;

            case MarioActionRequest.Fall:
                this.Mario.CurrentState = new BigFallingRightFacingMarioState(this.Mario);
                break;
            }
        }
Exemple #2
0
 public void RespondToRequest(MarioActionRequest change)
 {
     //change state accordingly
 }
Exemple #3
0
 public void RespondToRequest(MarioActionRequest req)
 {
     this.CurrentState.RespondToRequest(req);
 }