public void Spawn()
{
var rnd = RandomProvider.Get();
var region = this.Puzzle.Region;
var worldPos = this.Place.GetWorldPosition();
foreach (var monster in _monsters)
{
var pos = this.Place.GetPosition(_spawnPosition);
monster.Direction = MabiMath.DegreeToByte(pos[2]);
monster.Spawn(region.Id, pos[0], pos[1]);
if (monster.AI != null)
monster.AI.Activate(1000);
}
}
/// <summary> /// Spawns mob in place. /// </summary> /// <param name="place"></param> /// <param name="name"></param> /// <param name="group"></param> /// <param name="spawnPosition"></param> public void AllocateAndSpawnMob(PuzzlePlace place, string name, DungeonMonsterGroupData group, Placement spawnPosition) { var mob = new MonsterGroup(name, this, place, spawnPosition); _monsterGroups.Add(name, mob); mob.Allocate(group); mob.Spawn(); }