Esempio n. 1
0
        public void Enter(BazingaPlayer player)
        {
            var offset = FixtureOffset * new Vector2(player.Animation.IsFlippedHorizontally ? -1 : 1, 1);

            player.SetBodyFixture(FixtureRadiusX, FixtureRadiusY, offset);
            player.Animation.PlaySprite(SpriteState.Idle, true);
        }
        public IPlayerState Update(BazingaPlayer player, GameTime gameTime)
        {
            if (_lastJumpTime == TimeSpan.Zero)
            {
                _lastJumpTime = gameTime.TotalGameTime;
            }

            // TODO: remove double jump

            //if ((gameTime.TotalGameTime - _lastJumpTime).TotalSeconds > 0.5f
            //        && player.Body.LinearVelocity.Y <= 0 && player.Body.LinearVelocity.Y > -0.01)
            if (player.Body.LinearVelocity.Y <= 0 && player.Body.LinearVelocity.Y > -0.01)
            {
                return(new PlayerIdleState());
                //while (player.Body.ContactList.Next != null)
                //{
                //    if ((player.Body.ContactList.Contact.FixtureB.CollisionCategories & Category.Cat2) == Category.Cat2)
                //    {
                //        return new PlayerIdleState();
                //    }
                //}
            }

            return(null);
        }
        public void Enter(BazingaPlayer player)
        {
            var offset = FixtureOffset * new Vector2(player.Animation.IsFlippedHorizontally ? -1 : 1, 1);

            player.SetBodyFixture(FixtureRadiusX, FixtureRadiusY, offset);
            player.Animation.Repeat = false;
            player.Animation.PlaySprite(Animations.SpriteState.Slide);
            player.Body.OnCollision += PlayerCollisionHandler;
        }
Esempio n. 4
0
        public IPlayerState Update(BazingaPlayer player, GameTime gameTime)
        {
            if (player.Animation.AnimationCompleted)
            {
                return(new PlayerIdleState());
            }

            return(null);
        }
Esempio n. 5
0
        public IPlayerState HandleInput(BazingaPlayer player, KeyboardState input)
        {
            if (input.IsKeyDown(Keys.A))
            {
                player.Animation.PlaySprite(SpriteState.Melee, false);
            }

            return(null);
        }
Esempio n. 6
0
 public Camera(Viewport viewport)
 {
     _position           = new Vector2(0, 0);
     ViewportCenter      = new Vector2(0, 0);
     _playerToFollow     = null;
     _followAcceleration = 1f;
     Origin    = new Vector2(viewport.Width / 2.0f, viewport.Height / 2.0f);
     Zoom      = 1.0f;
     _viewport = viewport;
 }
Esempio n. 7
0
        public IPlayerState Update(BazingaPlayer player, GameTime gameTime)
        {
            float xForce = 0;
            float yForce = 0;

            xForce = player.Body.LinearVelocity.X * -10;

            player.Body.ApplyForce(new Vector2(xForce, yForce));

            return(null);
        }
        public void Enter(BazingaPlayer player)
        {
            var offset = FixtureOffset * new Vector2(player.Animation.IsFlippedHorizontally ? -1 : 1, 1);
            var xForce = JumpXForce * (player.Animation.IsFlippedHorizontally ? -1 : 1);

            player.SetBodyFixture(FixtureRadiusX, FixtureRadiusY, offset);
            player.Animation.PlaySprite(SpriteState.Jump, false);
            player.Body.ApplyLinearImpulse(new Vector2(0, JumpYForce));

            if (Math.Abs(player.Body.LinearVelocity.X) >= 1)
            {
                player.Body.ApplyForce(new Vector2(xForce, 0));
            }
        }
Esempio n. 9
0
        public IPlayerState HandleInput(BazingaPlayer player, KeyboardState input)
        {
            IPlayerState newState = null;

            float xForce = 0;
            float yForce = 0;

            if (input.IsKeyDown(Keys.Right))
            {
                if (player.Body.LinearVelocity.X < MinTurnAroundVelocity)
                {
                    xForce = RunForce;
                }

                player.Animation.Effect = SpriteEffects.None;
                player.Animation.PlaySprite(SpriteState.Run, true);
            }
            else if (input.IsKeyDown(Keys.Left))
            {
                if (player.Body.LinearVelocity.X > -MinTurnAroundVelocity)
                {
                    xForce = -RunForce;
                }

                player.Animation.Effect = SpriteEffects.FlipHorizontally;
                player.Animation.PlaySprite(SpriteState.Run, true);
            }

            player.Body.ApplyForce(new Vector2(xForce, yForce));

            if (input.IsKeyDown(Keys.Down) && Math.Abs(player.Body.LinearVelocity.X) >= MinSlideVelocity)
            {
                return(new PlayerSlideState());
            }
            else if (input.IsKeyDown(Keys.LeftControl) && Math.Abs(player.Body.LinearVelocity.X) <= MaxAttackVelocity)
            {
                return(new PlayerAttackState());
            }
            else if (input.IsKeyDown(Keys.Up))
            {
                return(new PlayerJumpState());
            }
            else if (input.IsKeyUp(Keys.Left) && input.IsKeyUp(Keys.Right))
            {
                return(new PlayerIdleState());
            }

            return(newState);
        }
        public IPlayerState Update(BazingaPlayer player, GameTime gameTime)
        {
            if (_slideStartTime == TimeSpan.Zero)
            {
                _slideStartTime = gameTime.TotalGameTime;
            }

            if (Math.Abs(player.Body.LinearVelocity.X) <= MinSlideVelocity && gameTime.TotalGameTime - _slideStartTime >= MinSlideTimeSpan)
            {
                return(new PlayerIdleState());
            }
            else
            {
                return(null);
            }
        }
Esempio n. 11
0
 public IPlayerState HandleInput(BazingaPlayer player, KeyboardState input)
 {
     if (input.IsKeyDown(Keys.Right) || input.IsKeyDown(Keys.Left))
     {
         return(new PlayerRunningState());
     }
     else if (input.IsKeyDown(Keys.Up))
     {
         return(new PlayerJumpState());
     }
     else if (input.IsKeyDown(Keys.LeftControl))
     {
         return(new PlayerAttackState());
     }
     else
     {
         return(null);
     }
 }
Esempio n. 12
0
        public void Initialize()
        {
            // Boxes
            for (int i = 0; i < 20; i++)
            {
                Game.Components.Add(new Box(Game, i * 96, 10));
            }

            // Map
            _gameMap = new Map(Game);
            Game.Components.Add(_gameMap);

            // Player
            _gamePlayer = new BazingaPlayer(Game, 400, 100);
            Game.Components.Add(_gamePlayer);

            Texture2D texture = Game.Content.Load <Texture2D>("Particles/Particle"); //new Texture2D(graphics.GraphicsDevice, 10, 10)

            particleEngine = new ParticleEngine(Game, texture, new Vector2(800, 10));
            Game.Components.Add(particleEngine);
        }
 public void Exit(BazingaPlayer player)
 {
     player.Body.OnCollision -= PlayerCollisionHandler;
 }
 public IPlayerState HandleInput(BazingaPlayer player, KeyboardState input)
 {
     return(null);
 }
Esempio n. 15
0
 public void SetPlayerToFollow(BazingaPlayer playerToFollow)
 {
     _playerToFollow = playerToFollow;
 }
 public void Exit(BazingaPlayer player)
 {
     // Nop
 }
Esempio n. 17
0
 public void Enter(BazingaPlayer player)
 {
     player.SetBodyFixture(FixtureRadiusX, FixtureRadiusY, FixtureOffset);
     player.Body.Awake = true;
 }
Esempio n. 18
0
 public IPlayerState Update(BazingaPlayer player, GameTime gameTime)
 {
     return(null);
 }