public void AddGameObjects(GameState gameState) { var lines = this._layout.Split(new [] { "\r\n" }, StringSplitOptions.None); for (int y = 0; y < lines.Count(); y++) { for (int x = 0; x < lines[y].Length; x++) { var tp = new TilePos(x, y); var position = tp.ToPosition(); var c = lines[y][x]; switch (c) { case ' ': break; case '#': Trace.WriteLine(System.IO.Directory.GetCurrentDirectory()); gameState.AddWall(position, "Tiles/Floor1"); break; case 'p': gameState.AddPlayer(position, 255, 0); break; case 'b': gameState.AddBoulder(position); break; case 'g': gameState.AddGrave(tp); break; case 'm': var mdef = new MonsterDef(); mdef.Breed = "DummyMonster"; mdef.Position = position; mdef.Energy = 100; gameState.AddMonster(mdef); break; default: throw new InvalidOperationException(); } } } }