Пример #1
0
 public void Update(float dt)
 {
     if (!GameOver) {
         currentMap = currentMap.ResolveDoors(hero);
         hero.Update(dt);
         if (InputManager.Instance.KeyPressed(OpenTK.Input.Key.Space)) {
             PointF velocity = new PointF(0.0f, 0.0f);
             if (hero.currentSprite == "up") {
                 velocity.Y = -100.0f;
             }
             else if (hero.currentSprite == "down") {
                 velocity.Y = 100.0f;
             }
             if (hero.currentSprite == "left") {
                 velocity.X = -100.0f;
             }
             else if (hero.currentSprite == "right") {
                 velocity.X = 100.0f;
             }
             projectiles.Add(new Bullet(hero.Center, velocity));
         }
         for (int i = projectiles.Count - 1; i >= 0; i--) {
             projectiles[i].Update(dt);
         }
         currentMap.Update(dt, hero, projectiles);
     }
     else {
         if (InputManager.Instance.KeyPressed(OpenTK.Input.Key.Space)) {
             currentMap = room1;
             hero.Position = new Point(spawnTile.X * tileSize, spawnTile.Y * tileSize);
             GameOver = false;
         }
     }
 }