public static SpawnEditor2.Region GetByName(string name, WorldMap map) { for (int i = 0; i < SpawnEditor2.Region.m_Regions.Count; i++) { SpawnEditor2.Region item = (SpawnEditor2.Region)SpawnEditor2.Region.m_Regions[i]; if (item.Map == map && item.Name == name) { return(item); } } return(null); }
public static SpawnEditor2.Region FindByUId(int uid) { for (int i = 0; i < SpawnEditor2.Region.m_Regions.Count; i++) { SpawnEditor2.Region item = (SpawnEditor2.Region)SpawnEditor2.Region.m_Regions[i]; if (item.UId == uid) { return(item); } } return(null); }
public static SpawnEditor2.Region Find(MapLocation p, WorldMap map) { if (map == WorldMap.Internal) { return(null); } for (int i = 0; i < SpawnEditor2.Region.m_Regions.Count; i++) { SpawnEditor2.Region item = (SpawnEditor2.Region)SpawnEditor2.Region.m_Regions[i]; if (item.Map == map && item.Contains(p)) { return(item); } } return(null); }
public static void RemoveRegion(SpawnEditor2.Region region) { SpawnEditor2.Region.m_Regions.Remove(region); }
public static void Load(string basedir) { string str = Path.Combine(basedir, "Data\\Regions.xml"); if (!File.Exists(str)) { return; } XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(str); foreach (XmlElement elementsByTagName in xmlDocument["ServerRegions"].GetElementsByTagName("Facet")) { string attribute = elementsByTagName.GetAttribute("name"); WorldMap worldMap = WorldMap.Internal; try { worldMap = (WorldMap)((int)((WorldMap)Enum.Parse(typeof(WorldMap), attribute, true))); } catch { } if (worldMap != WorldMap.Internal) { foreach (XmlElement xmlElement in elementsByTagName.GetElementsByTagName("region")) { string attribute1 = xmlElement.GetAttribute("name"); if (attribute1 == null || attribute1.Length <= 0) { continue; } SpawnEditor2.Region region = new SpawnEditor2.Region("", attribute1, worldMap); SpawnEditor2.Region.AddRegion(region); try { region.Priority = int.Parse(xmlElement.GetAttribute("priority")); } catch { if (!SpawnEditor2.Region.m_SupressXmlWarnings) { Console.WriteLine("Regions.xml: Could not parse priority for region '{0}' (assuming TownPriority)", region.Name); } region.Priority = 50; } XmlElement item = xmlElement["go"]; if (item != null) { try { region.GoLocation = MapLocation.Parse(item.GetAttribute("location")); region.GoLocation.Facet = (int)worldMap; } catch { if (!SpawnEditor2.Region.m_SupressXmlWarnings) { Console.WriteLine("Regions.xml: Could not parse go location for region '{0}'", region.Name); } } } item = xmlElement["music"]; if (item != null) { try { region.Music = (MusicName)((int)((MusicName)Enum.Parse(typeof(MusicName), item.GetAttribute("name"), true))); } catch { if (!SpawnEditor2.Region.m_SupressXmlWarnings) { Console.WriteLine("Regions.xml: Could not parse music for region '{0}'", region.Name); } } } item = xmlElement["zrange"]; if (item != null) { string str1 = item.GetAttribute("min"); if (str1 != null && str1 != "") { try { region.MinZ = int.Parse(str1); } catch { if (!SpawnEditor2.Region.m_SupressXmlWarnings) { Console.WriteLine("Regions.xml: Could not parse zrange:min for region '{0}'", region.Name); } } } str1 = item.GetAttribute("max"); if (str1 != null && str1 != "") { try { region.MaxZ = int.Parse(str1); } catch { if (!SpawnEditor2.Region.m_SupressXmlWarnings) { Console.WriteLine("Regions.xml: Could not parse zrange:max for region '{0}'", region.Name); } } } } foreach (XmlElement elementsByTagName1 in xmlElement.GetElementsByTagName("rect")) { try { if (region.m_LoadCoords == null) { region.m_LoadCoords = new ArrayList(1); } region.m_LoadCoords.Add(SpawnEditor2.Region.ParseRectangle(elementsByTagName1, true)); } catch { if (!SpawnEditor2.Region.m_SupressXmlWarnings) { Console.WriteLine("Regions.xml: Error parsing rect for region '{0}'", region.Name); } } } foreach (XmlElement xmlElement1 in xmlElement.GetElementsByTagName("inn")) { try { if (region.InnBounds == null) { region.InnBounds = new ArrayList(1); } region.InnBounds.Add(SpawnEditor2.Region.ParseRectangle(xmlElement1, false)); } catch { if (!SpawnEditor2.Region.m_SupressXmlWarnings) { Console.WriteLine("Regions.xml: Error parsing inn for region '{0}'", region.Name); } } } } } else { if (SpawnEditor2.Region.m_SupressXmlWarnings) { continue; } Console.WriteLine("Regions.xml: Invalid facet name '{0}'", attribute); } } ArrayList arrayLists = new ArrayList(SpawnEditor2.Region.m_Regions); for (int i = 0; i < arrayLists.Count; i++) { SpawnEditor2.Region mLoadCoords = (SpawnEditor2.Region)arrayLists[i]; if (!mLoadCoords.LoadFromXml && mLoadCoords.m_Coords == null) { mLoadCoords.Coords = new ArrayList(); } else if (mLoadCoords.LoadFromXml) { if (mLoadCoords.m_LoadCoords == null) { mLoadCoords.m_LoadCoords = new ArrayList(); } mLoadCoords.Coords = mLoadCoords.m_LoadCoords; } } }
public static bool IsNull(SpawnEditor2.Region r) { return(object.ReferenceEquals(r, null)); }
public static void AddRegion(SpawnEditor2.Region region) { SpawnEditor2.Region.m_Regions.Add(region); }
public RegionNode(SpawnEditor2.Region region) { this._Region = region; this.UpdateNode(); }