public bool RemoveSpawnObjects(EclSpawnEntry entry, bool invalidate, bool defrag) { if (defrag) Defrag(); bool removed = false; for (int i = entry.SpawnObjects.Count - 1; i >= 0; --i) { object o = entry.SpawnObjects[i]; if (o is Item) { ((Item)o).Delete(); removed = true; } else if (o is Mobile) { ((Mobile)o).Delete(); removed = true; } } if (removed && invalidate) InvalidateProperties(); return removed; }
/// <summary> /// Checks if spawn is possible at the given entry. /// </summary> /// <param name="entry"></param> /// <returns></returns> public virtual bool CanSpawnAtEntry(EclSpawnEntry entry) { if (entry.SpawnObjects.Count >= entry.Amount) return false; return true; }