private void LoadMap() { Console.Clear(); Console.WriteLine("LoadMap() -- WIC Map Engine\nFileName: " + Global.MapEditor_CurrentMapName + "\nCurrent Operation:"); MapTiles.Clear(); MapObjects.Clear(); MapBackground.Clear(); try { string[] MapFileRead = File.ReadAllText(Global.MAP_SourceFolder + "/" + Global.MapEditor_CurrentMapName + ".map").Split('|'); string[] MapBGData = MapFileRead[0].Split(new[] { '\r', '\n' }); string[] MapTileData = MapFileRead[1].Split(new[] { '\r', '\n' }); string[] MapObjData = MapFileRead[2].Split(new[] { '\r', '\n' }); string[] MapMetaData = MapFileRead[3].Split(';'); foreach (var tile in MapBGData) { if (tile.Length < 2) { continue; } // Split Line arguments string[] LineArgs = tile.Split(';'); int TileX = Convert.ToInt32(LineArgs[0]); int TileY = Convert.ToInt32(LineArgs[1]); string[] TileProperties = LineArgs[2].Split(','); MapTile ThisTile = new MapTile(TileX, TileY, TileProperties, MapBackground.Count); MapBackground.Add(ThisTile); } foreach (var tile in MapTileData) { if (tile.Length < 2) { continue; } // Split Line arguments string[] LineArgs = tile.Split(';'); int TileX = Convert.ToInt32(LineArgs[0]); int TileY = Convert.ToInt32(LineArgs[1]); string[] TileProperties = LineArgs[2].Split(','); MapTile ThisTile = new MapTile(TileX, TileY, TileProperties, MapTiles.Count); MapTiles.Add(ThisTile); } foreach (var tile in MapObjData) { if (tile.Length < 2) { continue; } // Split Line arguments string[] LineArgs = tile.Split(';'); int TileX = Convert.ToInt32(LineArgs[0]); int TileY = Convert.ToInt32(LineArgs[1]); string[] TileProperties = LineArgs[2].Split(','); MapTile ThisTile = new MapTile(TileX, TileY, TileProperties, MapObjects.Count); MapObjects.Add(ThisTile); } List <string> LinesWitoutIt = new List <string>(); CustomMapProperty = ""; foreach (var MetaLine in MapMetaData) { string[] SplitedArgs = MetaLine.Split(':'); switch (SplitedArgs[0]) { case "width": MapWidth = Convert.ToInt32(SplitedArgs[1]); break; case "height": MapHeight = Convert.ToInt32(SplitedArgs[1]); break; default: try { LinesWitoutIt.Add(SplitedArgs[0] + ":" + SplitedArgs[1]); } catch (IndexOutOfRangeException) { } break; } } foreach (var CustomProp in LinesWitoutIt) { if (CustomProp.Contains("end")) { break; } CustomMapProperty += CustomProp + ";"; } System.Console.WriteLine(CustomMapProperty); Console.WriteLine("Operation Completed."); } catch (IndexOutOfRangeException) { Console.WriteLine("Error while loading Mapfile: [" + Global.MapEditor_CurrentMapName + "]\nInvalid map file."); DialogMessage(Registry.ReadKeyValue("/editor/map_load_error_1")); } catch (FileNotFoundException) { Console.WriteLine("Error while loading Mapfile: [" + Global.MapEditor_CurrentMapName + "]\nCannot find map file."); DialogMessage(Registry.ReadKeyValue("/editor/map_load_error_2")); } MapHasBeenLoaded = true; }
public override void SetTenantId(string tenantId) { CustomProp = CustomProp?.Replace("%tenantid%", tenantId); CustomProp2 = CustomProp2?.Replace("%tenantid%", tenantId); }