Aura.Channel.World.CreatureSpawner.CreatureSpawner C# (CSharp) Метод

CreatureSpawner() публичный Метод

Creates new CreatureSpawner
public CreatureSpawner ( int raceId, int amount, int regionId, int delay, int delayMin, int delayMax, int titles, int coordinates ) : Aura.Channel.Network.Sending
raceId int Race to spawn
amount int Maximum amount to spawn
regionId int Region to spawn in
delay int Initial spawn delay in seconds
delayMin int Minimum respawn delay in seconds
delayMax int Maximum respawn delay in seconds
titles int List of random titles to apply to creatures
coordinates int Even number of coordinates, specifying the spawn area
Результат Aura.Channel.Network.Sending
		public CreatureSpawner(int raceId, int amount, int regionId, int delay, int delayMin, int delayMax, int[] titles, int[] coordinates)
		{
			if (coordinates == null || coordinates.Length < 2 || coordinates.Length % 2 != 0)
				throw new ArgumentException("CreatureSpawner: Invalid amount of coordinates.");

			this.Id = Interlocked.Increment(ref _id);
			this.RaceId = raceId;
			this.Amount = (int)Math.Ceiling(amount / 2f);
			this.RegionId = regionId;
			this.Delay = delay * 1000;
			this.DelayMin = delayMin * 1000;
			this.DelayMax = delayMax * 1000;

			_titles = titles;

			_points = new Point[coordinates.Length / 2];
			for (int i = 0, j = 0; i < coordinates.Length; ++j, i += 2)
			{
				_points[j] = new Point(coordinates[i], coordinates[i + 1]);
				if (coordinates[i] < _minX) _minX = coordinates[i];
				if (coordinates[i] > _maxX) _maxX = coordinates[i];
				if (coordinates[i + 1] < _minY) _minY = coordinates[i + 1];
				if (coordinates[i + 1] > _maxY) _maxY = coordinates[i + 1];
			}

			_creatures = new List<NPC>();
		}