private static void DeSpawnEvent(WorldEvent worldEvent) { foreach (var worldEventNPC in worldEvent.NPCSpawns) { var spawnEntry = NPCMgr.GetSpawnEntry(worldEventNPC.Guid); var map = spawnEntry.Map; //if the map is null then this saves us some work //since the map wont spawn any inactive events when //it is created if (map == null) { continue; } if (worldEventNPC.Spawn) { map.RemoveNPCSpawnPool(spawnEntry.PoolTemplate); } else { foreach (var point in spawnEntry.SpawnPoints.ToArray()) { point.Respawn(); } } } foreach (var worldEventGO in worldEvent.GOSpawns) { var spawnEntry = GOMgr.GetSpawnEntry(worldEventGO.Guid); var map = spawnEntry.Map; //if the map is null then this saves us some work //since the map wont spawn any inactive events when //it is created if (map == null) { continue; } if (worldEventGO.Spawn) { map.RemoveGOSpawnPool(spawnEntry.PoolTemplate); } else { foreach (var point in spawnEntry.SpawnPoints.ToArray()) { point.Respawn(); } } } }
private static void DeSpawnEvent(WorldEvent worldEvent) { foreach (WorldEventNPC npcSpawn in worldEvent.NPCSpawns) { NPCSpawnEntry spawnEntry = NPCMgr.GetSpawnEntry(npcSpawn.Guid); Map map = spawnEntry.Map; if (map != null) { if (npcSpawn.Spawn) { map.RemoveNPCSpawnPool(spawnEntry.PoolTemplate); } else { foreach (SpawnPoint <NPCSpawnPoolTemplate, NPCSpawnEntry, NPC, NPCSpawnPoint, NPCSpawnPool> spawnPoint in spawnEntry.SpawnPoints.ToArray()) { spawnPoint.Respawn(); } } } } foreach (WorldEventGameObject goSpawn in worldEvent.GOSpawns) { GOSpawnEntry spawnEntry = GOMgr.GetSpawnEntry(goSpawn.Guid); Map map = spawnEntry.Map; if (map != null) { if (goSpawn.Spawn) { map.RemoveGOSpawnPool(spawnEntry.PoolTemplate); } else { foreach (SpawnPoint <GOSpawnPoolTemplate, GOSpawnEntry, GameObject, GOSpawnPoint, GOSpawnPool> spawnPoint in spawnEntry.SpawnPoints.ToArray()) { spawnPoint.Respawn(); } } } } }