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; } }
public void RespondToRequest(MarioActionRequest change) { //change state accordingly }
public void RespondToRequest(MarioActionRequest req) { this.CurrentState.RespondToRequest(req); }