Aura.Channel.World.Region.Broadcast C# (CSharp) Method

Broadcast() public method

Broadcasts packet to all creatures in range of source.
public Broadcast ( Aura.Shared.Network.Packet packet, Entity source, bool sendToSource = true, int range = -1 ) : void
packet Aura.Shared.Network.Packet
source Entity
sendToSource bool
range int
return void
		public virtual void Broadcast(Packet packet, Entity source, bool sendToSource = true, int range = -1)
		{
			if (range < 0)
				range = VisibleRange;

			var pos = source.GetPosition();

			lock (_clients)
			{
				foreach (var client in _clients)
				{
					if (!client.Controlling.GetPosition().InRange(pos, range))
						continue;

					if (client.Controlling == source && !sendToSource)
						continue;

					client.Send(packet);
				}
			}
		}
	}

Same methods

Region::Broadcast ( Aura.Shared.Network.Packet packet ) : void

Usage Example

Ejemplo n.º 1
0
		/// <summary>
		/// Broadcasts Notice in region.
		/// </summary>
		/// <param name="region"></param>
		/// <param name="type"></param>
		/// <param name="duration"></param>
		/// <param name="format"></param>
		/// <param name="args"></param>
		public static void Notice(Region region, NoticeType type, int duration, string format, params object[] args)
		{
			var packet = new Packet(Op.Notice, MabiId.Broadcast);
			packet.PutByte((byte)type);
			packet.PutString(string.Format(format, args));
			if (duration > 0)
				packet.PutInt(duration);

			region.Broadcast(packet);
		}