void IDestroyAct.OnDestroy(DestructionEventArgs eventArgs) { var storedEntities = StoredEntities?.ToList(); if (storedEntities == null) { return; } foreach (var entity in storedEntities) { Remove(entity); } }
void IDestroyAct.OnDestroy(DestructionEventArgs eventArgs) { if (SpawnOnDestroy == null || !eventArgs.IsSpawnWreck) { return; } foreach (var(key, value) in SpawnOnDestroy) { int count; if (value.Min >= value.Max) { count = value.Min; } else { count = _random.Next(value.Min, value.Max + 1); } if (count == 0) { continue; } if (EntityPrototypeHelpers.HasComponent <StackComponent>(key)) { var spawned = Owner.EntityManager.SpawnEntity(key, Owner.Transform.Coordinates); var stack = spawned.GetComponent <StackComponent>(); stack.Count = count; spawned.RandomOffset(0.5f); } else { for (var i = 0; i < count; i++) { var spawned = Owner.EntityManager.SpawnEntity(key, Owner.Transform.Coordinates); spawned.RandomOffset(0.5f); } } } }
private void OnDestroyed(EntityUid uid, MedicalScannerComponent scannerComponent, DestructionEventArgs args) { EjectBody(uid, scannerComponent); }
private void OnDestroyed(EntityUid uid, SecretStashComponent component, DestructionEventArgs args) { component.ItemContainer.EmptyContainer(); }
private void HandleDestruction(EntityUid uid, ExplosiveComponent component, DestructionEventArgs args) { Explode(uid, component); }
void IDestroyAct.OnDestroy(DestructionEventArgs eventArgs) { Explosion(); }
private void OnDestroy(EntityUid uid, StrapComponent component, DestructionEventArgs args) { component.RemoveAll(); }
private void OnDestroy(EntityUid uid, EntityStorageComponent component, DestructionEventArgs args) { component.Open = true; EmptyContents(uid, component); }