示例#1
0
        public void Update(ref int numKilled, Hero hero)
        {
            heroLight.Position = new Vector2(hero.position.X, -hero.position.Y);

            for (int i = 0; i < projectiles.Count; i++)
            {
                projectiles[i].Update(mobs.ToList <Unit>());
                if (projectiles[i].done)
                {
                    projectiles.RemoveAt(i);
                    i--;
                }
            }
            for (int i = 0; i < mobs.Count; i++)
            {
                mobs[i].Update(hero);
                if (mobs[i].isDead)
                {
                    numKilled++;
                    hero.xp += mobs[i].xp;
                    if (hero.xp >= hero.xpMax)
                    {
                        hero.xp   -= hero.xpMax;
                        hero.xpMax = (int)(hero.xpMax * 1.3);
                        hero.niv++;
                    }
                    mobs.RemoveAt(i);
                    i--;
                }
            }
            for (int i = 0; i < spawnPoints.Count; i++)
            {
                spawnPoints[i].Update();
                if (spawnPoints[i].isDead)
                {
                    spawnPoints.RemoveAt(i);
                    i--;
                }
            }
            timeLight.UpdateTimer();
            if (timeLight.Test())
            {
                Random rand = new Random();
                foreach (Light light in mapLights)
                {
                    float val;
                    if (light.Color == Color.White)
                    {
                        val = rand.Next(45, 50);
                    }
                    else
                    {
                        val = rand.Next(15, 50);
                    }
                    light.Scale = new Vector2(val);
                }
                timeLight.ResetToZero();
            }
        }
示例#2
0
 public override void Update()
 {
     spawnTimer.UpdateTimer();
     if (spawnTimer.Test())
     {
         SpawnMob();
         spawnTimer.ResetToZero();
     }
     base.Update();
 }
示例#3
0
        public override void Update()
        {
            cooldown.UpdateTimer();
            cooldown2.UpdateTimer();

            // Mouvement
            if ((Global.inputs.IsPressed(Input.Left) || Global.inputs.IsPressed(Keys.Q)))
            {
                position.X -= speed;
                --Velocity.X;
                // Test colision
                if (Global.collision.IsCollision(BoudingBox))
                {
                    position.X += speed;
                    ++Velocity.X;
                }
            }
            if ((Global.inputs.IsPressed(Input.Right) || Global.inputs.IsPressed(Keys.D)))
            {
                position.X += speed;
                ++Velocity.X;
                // Test colision
                if (Global.collision.IsCollision(BoudingBox))
                {
                    position.X -= speed;
                    --Velocity.X;
                }
            }
            if ((Global.inputs.IsPressed(Input.Up) || Global.inputs.IsPressed(Keys.Z)))
            {
                position.Y -= speed;
                --Velocity.Y;
                // Test colision
                if (Global.collision.IsCollision(BoudingBox))
                {
                    position.Y += speed;
                    ++Velocity.Y;
                }
            }
            if ((Global.inputs.IsPressed(Input.Down) || Global.inputs.IsPressed(Keys.S)))
            {
                position.Y += speed;
                ++Velocity.Y;
                // Test colision
                if (Global.collision.IsCollision(BoudingBox))
                {
                    position.Y -= speed;
                    --Velocity.Y;
                }
            }
            if ((Global.inputs.IsPressed(Input.RightStick) || Global.inputs.IsPressed(MouseInput.LeftButton)) && cooldown.Test())
            {
                cooldown.ResetToZero();
                Global.gameplay.world.map.AddProjectile(new Bullet(position, this, Global.inputs.GetMousePositionVector()));
            }
            if ((Global.inputs.IsPressed(Input.LeftStick) || Global.inputs.IsPressed(MouseInput.RightButton)) && cooldown2.Test())
            {
                cooldown2.ResetToZero();
                Global.gameplay.world.map.AddProjectile(new Bolt(position, this, Global.inputs.GetMousePositionVector()));
            }
            rotation = Global.RotateTowards(position, Global.inputs.GetMousePositionVector());

            // Global.camera.Pos += cameraDirection * speed;

            base.Update();
        }