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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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);
            }
        }
Example #5
0
		protected override void Dispose()
		{
			base.Dispose();

			foreach (var team in _teams)
			{
				team.Dispose();
			}

			_parentQueue = null;
		}
Example #6
0
 public GlobalBGTeamQueue(GlobalBattlegroundQueue parentQueue, BattlegroundSide side)
     : base(parentQueue, side)
 {
 }
Example #7
0
		void AddQueue(GlobalBattlegroundQueue queue)
		{
			Queues[queue.BracketId] = queue;
		}
Example #8
0
		void AddQueue(GlobalBattlegroundQueue queue)
		{
			for (var i = queue.MinLevel - 1; i < queue.MaxLevel; i++)
			{
				Queues[i] = queue;
			}
		}