public LevelFinishedState() { playingState = GameEnvironment.GameStateManager.GetGameState("playingState"); SpriteGameObject overlay = new SpriteGameObject("Overlays/spr_welldone"); overlay.Position = new Vector2(GameEnvironment.Screen.X, GameEnvironment.Screen.Y) / 2 - overlay.Center; overlay.Meebewegen(); this.Add(overlay); }
public void LoadTiles(string path) { int width; List<string> textlines = new List<string>(); StreamReader fileReader = new StreamReader(path); string line = fileReader.ReadLine(); width = line.Length; while (line != null) { textlines.Add(line); line = fileReader.ReadLine(); } TileField tiles = new TileField(textlines.Count - 2, width, 1, "tiles"); GameObjectList hintfield = new GameObjectList(100); this.Add(hintfield); string hint = textlines[textlines.Count - 1]; SpriteGameObject hint_frame = new SpriteGameObject("Overlays/spr_frame_hint", 1); hintfield.Position = new Vector2((GameEnvironment.Screen.X - hint_frame.Width) / 2, 10); hint_frame.Meebewegen(); hintfield.Add(hint_frame); TextGameObject hintText = new TextGameObject("Fonts/HintFont", 2); hintText.Text = textlines[textlines.Count - 2]; hintText.Position = new Vector2(120, 25); hintText.Color = Color.Black; hintfield.Add(hintText); VisibilityTimer hintTimer = new VisibilityTimer(hintfield, 1, "hintTimer"); this.Add(hintTimer); GameObject.lvltimer = Convert.ToDouble(textlines[textlines.Count - 1]); // de laatste lijn in de textfile heeft de tijd this.Add(tiles); tiles.CellWidth = 72; tiles.CellHeight = 55; for (int x = 0; x < width; ++x) for (int y = 0; y < textlines.Count - 2; ++y) { Tile t = LoadTile(textlines[y][x], x, y); tiles.Add(t, x, y); } }
public Level(int levelIndex) { // load the backgrounds GameObjectList backgrounds = new GameObjectList(0, "backgrounds"); SpriteGameObject background_main = new SpriteGameObject("Backgrounds/spr_sky"); background_main.Position = new Vector2(0, GameEnvironment.Screen.Y - background_main.Height); backgrounds.Add(background_main); SpriteGameObject background_extended = new SpriteGameObject("Backgrounds/spr_sky"); background_extended.Position = new Vector2(background_main.Width, GameEnvironment.Screen.Y - background_main.Height); backgrounds.Add(background_extended); // add a few random mountains for (int i = 0; i < 10; i++) { SpriteGameObject mountain = new SpriteGameObject("Backgrounds/spr_mountain_" + (GameEnvironment.Random.Next(2) + 1), GameEnvironment.Random.Next(4)+3); mountain.Position = new Vector2((float)GameEnvironment.Random.NextDouble() * (2 * background_main.Width) - mountain.Width / 2, GameEnvironment.Screen.Y - mountain.Height); backgrounds.Add(mountain); } Clouds clouds = new Clouds(4); backgrounds.Add(clouds); this.Add(backgrounds); SpriteGameObject timerBackground = new SpriteGameObject("Sprites/spr_timer", 100); timerBackground.Position = new Vector2(10, 10); timerBackground.Meebewegen(); this.Add(timerBackground); TimerGameObject timer = new TimerGameObject(101, "timer"); timer.Position = new Vector2(25, 30); this.Add(timer); quitButton = new Button("Sprites/spr_button_quit", 100); quitButton.Position = new Vector2(GameEnvironment.Screen.X - quitButton.Width - 10, 10); this.Add(quitButton); this.Add(new GameObjectList(1, "waterdrops")); this.Add(new GameObjectList(2, "enemies")); this.LoadTiles("Content/Levels/" + levelIndex + ".txt"); }