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; } } }