public Map(string path) { parser = new Parser(path); ArrayList current; landfills = new ArrayList(); selected = new Point(-1,-1); current = parser.getSection("ATTRIBUTES"); foreach (string[] line in current) { if(line[0].Equals("tileset")) { tilesetName = line[1]; tiles = new tileset(tilesetName); } else if(line[0].Equals("size")) { width = int.Parse(line[1]); height = int.Parse(line[2]); } else if(line[0].Equals("description")) { description = ""; for(int i=1;i<line.Length;i++) description += line[i]; } } m = new tile_t[width,height]; current = parser.getSection("CONTENT"); for(int x=0;x<width;x++) { for(int y=0;y<height;y++) { m[x,y] = new tile_t(((string[])current[y])[x]); } } current = parser.getSection("RESOURCES"); foreach(string[] line in current) { if(line[0].Equals("landfill")) addLandfill(int.Parse(line[2])-1,int.Parse(line[3])-1,int.Parse(line[1]),int.Parse(line[4]),int.Parse(line[5])); else if(line[0].Equals("oil")) addOilWell(int.Parse(line[1])-1,int.Parse(line[2])-1,0,int.Parse(line[3]),int.Parse(line[4])); } current = parser.getSection("PLAYERS"); foreach(string[] line in current) { if(line.Length > 1) numPlayers++; } }
public Map(string tilePath, int numX, int numY) { landfills = new ArrayList(); selected = new Point(-1,-1); tilesetName = tilePath; width = numX; height = numY; tiles = new tileset(tilesetName); parser = new Parser(); m = new tile_t[width,height]; tile defaultTile = (tile)tiles.getAbsTiles()[0]; for(int y=0;y<height;y++) for(int x=0;x<width;x++) m[x,y] = new tile_t(defaultTile); }