public static void SendBattlefieldList(Character chr, GlobalBattlegroundQueue queue) { using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_BATTLEFIELD_LIST)) { var fromGUI = true; packet.Write((long)0); packet.Write(fromGUI); // since 3.1.1 packet.Write((uint)queue.Template.Id); packet.Write((byte)queue.BracketId); // BracketId packet.Write((byte)0); // since 3.3 var pos = packet.Position; packet.Position += 4; var count = 0; for (var i = 0; i < queue.Instances.Count; i++) { var bg = queue.Instances[i]; if (chr.Role.IsStaff || bg.CanEnter(chr)) { packet.Write(bg.InstanceId); count++; } } packet.Position = pos; packet.Write(count); chr.Send(packet); } }
public static void SendBattlefieldList(Character chr, GlobalBattlegroundQueue queue) { using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.SMSG_BATTLEFIELD_LIST)) { bool flag = true; packet.Write(0L); packet.Write(flag); packet.Write((uint)queue.Template.Id); packet.Write((byte)queue.BracketId); packet.Write((byte)0); long position = packet.Position; packet.Position += 4L; int num = 0; for (int index = 0; index < queue.Instances.Count; ++index) { Battleground instance = queue.Instances[index]; if (chr.Role.IsStaff || instance.CanEnter(chr)) { packet.Write(instance.InstanceId); ++num; } } packet.Position = position; packet.Write(num); chr.Send(packet, false); } }
public static void HandleBattlefieldList(IRealmClient client, RealmPacketIn packet) { BattlegroundId bgid = (BattlegroundId)packet.ReadUInt32(); packet.ReadBoolean(); int num = packet.ReadByte(); BattlegroundTemplate template = BattlegroundMgr.GetTemplate(bgid); Character activeCharacter = client.ActiveCharacter; if (template == null) { return; } GlobalBattlegroundQueue queue = template.GetQueue(activeCharacter.Level); if (queue == null) { return; } SendBattlefieldList(activeCharacter, queue); }
protected override void Dispose() { base.Dispose(); foreach (var team in _teams) { team.Dispose(); } _parentQueue = null; }
public GlobalBGTeamQueue(GlobalBattlegroundQueue parentQueue, BattlegroundSide side) : base(parentQueue, side) { }
void AddQueue(GlobalBattlegroundQueue queue) { Queues[queue.BracketId] = queue; }
void AddQueue(GlobalBattlegroundQueue queue) { for (var i = queue.MinLevel - 1; i < queue.MaxLevel; i++) { Queues[i] = queue; } }