public override void Convert(byte[] rawData) { WorldMapOverlayEntry val = new WorldMapOverlayEntry(); val.WorldMapOverlayId = (WorldMapOverlayId)DBCRecordConverter.GetUInt32(rawData, 0); for (int index = 0; index < val.ZoneTemplateId.Length; ++index) { ZoneId uint32 = (ZoneId)DBCRecordConverter.GetUInt32(rawData, 2 + index); if (uint32 != ZoneId.None) { val.ZoneTemplateId[index] = uint32; ZoneTemplate zoneTemplate = WCell.RealmServer.Global.World.s_ZoneTemplates[(int)uint32]; if (zoneTemplate == null) { LogManager.GetCurrentClassLogger().Warn(string.Format( "Invalid ZoneId #{0} found at WorldMapOverlay #{1} during the DBC loading.", (object)uint32, (object)val.WorldMapOverlayId)); } else { zoneTemplate.WorldMapOverlays.Add(val.WorldMapOverlayId); } } else { break; } } ArrayUtil.Set <WorldMapOverlayEntry>(ref WCell.RealmServer.Global.World.s_WorldMapOverlayEntries, (uint)val.WorldMapOverlayId, val); }
public Zone(Map rgn, ZoneTemplate template) { Map = rgn; Template = template; if (template.WorldStates != null) { WorldStates = new WorldStateCollection(this, template.WorldStates); } CreateChatChannels(); }
public Zone(Map rgn, ZoneTemplate template) { this.Map = rgn; this.Template = template; if (template.WorldStates != null) { this.WorldStates = new WorldStateCollection((IWorldSpace)this, template.WorldStates); } this.CreateChatChannels(); }
public void FinalizeDataHolder() { WorldLocationMgr.WorldLocations[this.DefaultName] = (INamedWorldZoneLocation)this; ZoneTemplate zoneInfo = WCell.RealmServer.Global.World.GetZoneInfo(this.ZoneId); if (zoneInfo == null) { return; } if (zoneInfo.Site is WorldZoneLocation) { ((WorldZoneLocation)zoneInfo.Site).ZoneTemplate = (ZoneTemplate)null; } else if (zoneInfo.Site != null) { return; } zoneInfo.Site = (IWorldLocation)this; this.ZoneTemplate = zoneInfo; }
public void FinalizeDataHolder() { WorldLocationMgr.WorldLocations[DefaultName] = this; ZoneTemplate zoneInfo = World.GetZoneInfo(ZoneId); if (zoneInfo == null) { return; } if (zoneInfo.Site is WorldZoneLocation) { ((WorldZoneLocation)zoneInfo.Site).ZoneTemplate = null; } else if (zoneInfo.Site != null) { return; } zoneInfo.Site = this; ZoneTemplate = zoneInfo; }
public Zone DefaultCreator(Map map, ZoneTemplate templ) { return(new Zone(map, templ)); }