Ejemplo n.º 1
0
		// TODO: Do *not* use too many ReaderWriterLock! They need huge amount of memories and go deep into the kern
        //private ReaderWriterLockSlim m_syncLock;

        public BattleRange(BattlegroundQueue bgqueue, uint battlegroupId)
        {
			// TODO: Fix
			//m_minLevel = bgqueue.Template.MinLevel + ((bgqueue.Template.LevelRange + 1) * battlegroupId);
			//if (m_minLevel > bgqueue.Template.MaxLevel)
			//    m_minLevel = bgqueue.Template.MaxLevel;

			//m_maxLevel = bgqueue.Template.MinLevel + ((bgqueue.Template.LevelRange + 1) * battlegroupId) + bgqueue.Template.LevelRange;
			//if (m_maxLevel > bgqueue.Template.MaxLevel)
			//    m_maxLevel = bgqueue.Template.MaxLevel;

			//m_size = 0;
			//m_ids = new IdQueue();
			//m_battlegrounds = new Dictionary<uint, Battleground>();
			//m_bgqueue = bgqueue;
			//m_battlegroupId = battlegroupId;
			//m_syncLock = new ReaderWriterLockSlim();
        }
Ejemplo n.º 2
0
        public static void SendStatusEnqueued(Character chr,
			int index,
            BattlegroundRelation relation,
			BattlegroundQueue queue)
        {
            var status = BattlegroundStatus.Enqueued;

            using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_BATTLEFIELD_STATUS))
            {
				packet.Write(index);

                var bgId = queue.Template.Id;

                // 64-bit guid start
                packet.Write((byte)ArenaType.None);
                packet.Write((byte)1);              // affects level range calculation?
                packet.Write((uint)bgId);
                packet.Write((ushort)8080);
                // 64-bit guid stop

				packet.Write((byte)0);				// since 3.3
				packet.Write((byte)0);				// since 3.3
                packet.Write(queue.InstanceId);     // instance id
                packet.Write(false);                // bool isRatedMatch
                packet.Write((int)status);

                packet.Write(queue.AverageWaitTime);					// avg wait time for queue, in ms
                packet.Write((int)relation.QueueTime.TotalMilliseconds); // time in the queue, also in ms

                chr.Send(packet);
            }
        }
Ejemplo n.º 3
0
		protected BattlegroundTeamQueue(BattlegroundQueue parentQueue, BattlegroundSide side)
		{
			_parentQueue = parentQueue;
			m_Side = side;
		}
Ejemplo n.º 4
0
 protected BattlegroundTeamQueue(BattlegroundQueue parentQueue, BattlegroundSide side)
 {
     _parentQueue = parentQueue;
     m_Side       = side;
 }