public MapeditorState() { Loader.LoadShizzle(); gridWidth = 39; gridHeight = 22; editTileX = editTileY = 0; if (Loader.CheckMap()) { GameWorld = Loader.LoadMap(); } else { GameWorld = new GameWorld(); GameWorld.AddGameGrid(new GameGrid(gridWidth, gridHeight, "ground")); GameWorld.AddGameGrid(new GameGrid(gridWidth, gridHeight, "walls")); } GameWorld.AddGameGrid(new GameGrid(gridWidth, gridHeight, "editlayer")); for (int x = 0; x < gridWidth; x++) { for (int y = 0; y < gridHeight; y++) { GameWorld.getGameGrid("editlayer").AddTile("temp", x, y); } } }
public static GameWorld LoadMap() { GameWorld gw = new GameWorld(); string currentLayer = string.Empty; using (StreamReader sr = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + "/data/map.summerjam")) { string line = string.Empty; while ((line = sr.ReadLine()) != null) { if (line.StartsWith("Layer")) { currentLayer = line.Split(' ')[1]; gw.AddGameGrid(39, 22, currentLayer); } else { string[] split = line.Split(' '); if (split[2] != "door") { gw.getGameGrid(currentLayer).AddTile(new Tile(split[2], int.Parse(split[0]), int.Parse(split[1]), gw.getGameGrid(currentLayer)), int.Parse(split[0]), int.Parse(split[1])); } else { gw.getGameGrid(currentLayer).AddTile(new Door(split[2], int.Parse(split[0]), int.Parse(split[1]), gw.getGameGrid(currentLayer)), int.Parse(split[0]), int.Parse(split[1])); } if (split.Length > 3) { gw.getGameGrid(currentLayer).Grid[int.Parse(split[0]), int.Parse(split[1])].Rotation = int.Parse(split[3]); } } } } return(gw); }