Exemplo n.º 1
0
        public void Draw(SpriteBatch spriteBatch, GameTime gameTime)
        {
            // If selected, show some way that it is selected

            /*
             * if (IsSelected)
             * {
             *
             * }
             */
            // Draw PC's sprite using PlayableObject's Draw method.
            PlayableObjectState.Draw(spriteBatch, gameTime);
            Hand.Draw(spriteBatch, gameTime);
        }
Exemplo n.º 2
0
        public void Draw(SpriteBatch spriteBatch, GameTime gameTime)
        {
            if (TakenDamageState && !Mario.Instance.StarPower)
            {
                if (takenDamageBuffer <= 0)
                {
                    invisibleBuffer   = GameValues.MarioInvisibleBuffer;
                    visibleBuffer     = GameValues.MarioVisibleBuffer;
                    takenDamageBuffer = GameValues.MarioTakenDamageBuffer;

                    TakenDamageState = false;
                }

                else if (invisibleBuffer > 0 && visibleBuffer == 0)
                {
                    invisibleBuffer--;
                }

                else if (invisibleBuffer <= 0)
                {
                    invisibleBuffer = 0;

                    if (visibleBuffer < GameValues.MarioInvisibleBuffer)
                    {
                        PlayableObjectState.Draw(spriteBatch, gameTime);
                        visibleBuffer++;
                    }

                    else
                    {
                        invisibleBuffer = GameValues.MarioInvisibleBuffer;
                        visibleBuffer   = GameValues.MarioVisibleBuffer;
                    }
                }

                takenDamageBuffer--;
            }

            else
            {
                PlayableObjectState.Draw(spriteBatch, gameTime);
            }

            for (int i = 0; i < fireballs.Length; i++)
            {
                fireballs[i].Draw(spriteBatch, gameTime);
            }
        }
Exemplo n.º 3
0
        public void Update(GameTime gameTime)
        {
            // Move PC around here.
            if (Position != FuturePosition)
            {
                Move();
                Hand.IsActive = false;
            }

            // Update Hand if not moving.
            else
            {
                Hand.Update(gameTime);
            }

            PlayableObjectState.Update(gameTime);
        }
Exemplo n.º 4
0
        public void Update(GameTime gameTime)
        {
            if (this.PlayableObjectState.ToString() != "SuperMario.MarioStates.SmallMarioFlagSlideEnd" && this.PlayableObjectState.ToString() != "SuperMario.MarioStates.BigMarioFlagSlideEnd" && this.PlayableObjectState.ToString() != "SuperMario.MarioStates.FireMarioFlagSlideEnd")
            {
                MaxVelocity = new Vector2(MaxHorizontalVelocity, GameValues.PhysicsMaxYVelocity);
            }
            else
            {
                MaxVelocity = new Vector2(MaxHorizontalVelocity, 0);
            }

            if (Position.Y > GameValues.MarioDeathYPosition)
            {
                if (PlayableObjectState.ToString() != "SuperMario.MarioStates.DeadMario")
                {
                    PlayableObjectState = new DeadMario(this);
                }

                Lives--;
                if (Lives >= 1)
                {
                    GameStateMachine.Instance.GameState = new MarioRespawnState();
                }
                else
                {
                    if (deathBuffer > 0)
                    {
                        deathBuffer--;
                    }
                    else
                    {
                        deathBuffer = GameValues.MarioDeathBuffer;
                        GameStateMachine.Instance.GameState = new GameOverState();
                    }
                }
            }

            if (GameStateMachine.Instance.GameState.ToString() != "SuperMario.GameStates.MarioFreezeGameAnimationState")
            {
                Physics.Move(this);
            }

            PlayableObjectStateTransitionMachine.InvisibleBarrierCollision();
            Level.Instance.InvisibleBarrier.Update();

            for (int i = 0; i < fireballs.Length; i++)
            {
                fireballs[i].Update(gameTime);
            }

            if (StarPower)
            {
                if (starBuffer > 0)
                {
                    starBuffer--;
                }
                else
                {
                    starBuffer = GameValues.MarioStarBuffer;
                    StarPower  = !StarPower;
                }
            }

            PlayableObjectState.Update(gameTime);
        }
Exemplo n.º 5
0
 public void HandleDynamicCollision(string collisionDirection, IDynamicObject dynamicObjectState)
 {
     if (Mario.Instance.PlayableObjectState.ToString() != "SuperMario.MarioStates.DeadMario")
     {
         PlayableObjectStateTransitionMachine.DynamicStateChange(collisionDirection, PlayableObjectState.ToString(), dynamicObjectState);
     }
 }