Exemplo n.º 1
0
        protected void UpdateGame(float es_)
        {
            dist.Update(es_);
            if (gameState == GameState.Dead && dist.Complete())
            {
                inven.LoseItem();
                ParticleSystem.CreateInstance(new Vector2(16, 48), "appear", true, 0.23f);
                dist.Reset();
            }
            easeIn.Update(es_);
            if (easeIn.Complete())
            {
                easeIn.Stop();
            }
            if (gameState != GameState.TransitionG)
            {
                Vector2 input = Vector2.Zero;
                if (gameState == GameState.Game)
                {
                    if (ipp.Pressed("w") || ipp.Pressed("up"))
                    {
                        input.Y -= 1;
                    }

                    if (ipp.Pressed("s") || ipp.Pressed("down"))
                    {
                        input.Y += 1;
                    }

                    if (ipp.JustPressed("d") || ipp.JustPressed("right"))
                    {
                        input.X = 1;
                    }
                }

                player.Input(input);
                player.Move();
                EntityCollection.MoveGroup("enemies");

                player.MultMov(es_);
                EntityCollection.MultMovGroup("enemies", es_);

                HandleCollisions();

                player.Update(es_);
                EntityCollection.UpdateGroup("enemies", es_);
                EntityCollection.UpdateGroup("pickups", es_);
            }
            ParticleSystem.UpdateAll(es_);

            ts.Update(es_, player.pos.X - 32);

            inven.Update(es_);

            EntityCollection.RecycleAll();
        }