public override void Revive()
 {
     if (!(previousState is MarioPowerStateFire || previousState is MarioPowerStateSuper))
     {
         previousState = new MarioPowerStateNormal(Context);
         Previous      = Mario.PowerStateType.Normal;
         Context.UpdateTexture();
     }
 }
 public override void SuperMushroom()
 {
     if (!(previousState is MarioPowerStateFire))
     {
         previousState = new MarioPowerStateSuper(Context);
         Previous      = Mario.PowerStateType.Super;
         Context.UpdateTexture();
     }
 }
예제 #3
0
        public void ChangeWorld()
        {
            int oldScores             = world.Mario.Scores;
            int oldLifes              = world.Mario.lifes;
            IMarioPowerState oldState = world.Mario.CurrentPowerState;

            if (isPrimary)
            {
                oldLocation = world.Mario.Location;
                ChangeToUnderground();
            }
            else
            {
                ChangeToPrimaryWorld();
                world.Mario.Location = new Vector2(oldLocation.X, oldLocation.Y - 20);
            }
            isPrimary                     = !isPrimary;
            world.Mario.Scores            = oldScores;
            world.Mario.lifes             = oldLifes;
            world.Mario.CurrentPowerState = oldState;
        }
예제 #4
0
        public void ChangeToBowserWorld()
        {
            isBlack = true;
            int oldScores             = world.Mario.Scores;
            int oldLifes              = world.Mario.lifes;
            IMarioPowerState oldState = world.Mario.CurrentPowerState;

            world = WorldFactory.CreateBowserWorld();

            world.Mario.Scores            = oldScores;
            world.Mario.lifes             = oldLifes;
            world.Mario.CurrentPowerState = oldState;
            GameClass.collisionDetection  = new AllCollisionHandler(this);
            GameClass.ControllersList     = new List <IController>();
            GameClass.ControllersList.Add(new KeybroadController(GameClass));
            GameClass.ControllersList.Add(new GamepadController(GameClass));
            GameClass.ControllersList.Add(new MouseController(GameClass));
            if (state is WorldState)
            {
                WorldState temp = (WorldState)state;
                temp.level = WorldState.WorldLevel.World2_2;
                state      = temp;
            }
        }
 public MarioPowerStateStar(Mario context) : base(context)
 {
     previousState = Context.PowerState;
 }
 public override void RecievedFireFlower()
 {
     previousState = new MarioPowerStateFire(Context);
     Previous      = Mario.PowerStateType.Fire;
     Context.UpdateTexture();
 }