private void OnMetaFlagRemoval(EntityUid uid, FlashableComponent component, ref MetaFlagRemoveAttemptEvent args) { if (component.LifeStage == ComponentLifeStage.Running) { args.Cancelled = true; } }
private void OnMetaFlagRemoval(EntityUid uid, FlashableComponent component, ref MetaFlagRemoveAttemptEvent args) { if (component.LifeStage == ComponentLifeStage.Running) { args.ToRemove &= ~MetaDataFlags.EntitySpecific; } }
void ICollideBehavior.CollideWith(IEntity entity) { if (_flashed) { return; } FlashableComponent.FlashAreaHelper(Owner, _range, _duration); _flashed = true; }
private void HandleFlashTrigger(EntityUid uid, FlashOnTriggerComponent component, TriggerEvent args) { if (component.Flashed) { return; } FlashableComponent.FlashAreaHelper(component.Owner, component.Range, component.Duration); component.Flashed = true; }
private void HandleCollide(EntityUid uid, FlashAreaOnCollide component, StartCollideEvent args) { if (component.Flashed) { return; } FlashableComponent.FlashAreaHelper(component.Owner, component.Range, component.Duration); component.Flashed = true; }
public bool Explode() { // If we're in a locker or whatever then can't flash anything Owner.TryGetContainer(out var container); if (container == null || !container.Owner.HasComponent <EntityStorageComponent>()) { FlashableComponent.FlashAreaHelper(Owner, _range, _duration); } if (_sound != null) { SoundSystem.Play(Filter.Pvs(Owner), _sound, Owner.Transform.Coordinates); } if (_deleteOnFlash && !Owner.Deleted) { Owner.Delete(); } return(true); }
public bool Explode() { // If we're in a locker or whatever then can't flash anything ContainerHelpers.TryGetContainer(Owner, out var container); if (container == null || !container.Owner.HasComponent <EntityStorageComponent>()) { FlashableComponent.FlashAreaHelper(Owner, _range, _duration); } if (_sound != null) { EntitySystem.Get <AudioSystem>().PlayAtCoords(_sound, Owner.Transform.GridPosition); } if (_deleteOnFlash && !Owner.Deleted) { Owner.Delete(); } return(true); }
private void OnFlashableShutdown(EntityUid uid, FlashableComponent component, ComponentShutdown args) { _metaSystem.RemoveFlag(uid, MetaDataFlags.EntitySpecific); }
private void OnFlashableStartup(EntityUid uid, FlashableComponent component, ComponentStartup args) { _metaSystem.AddFlag(uid, MetaDataFlags.EntitySpecific); }
private void OnPlayerAttached(EntityUid uid, FlashableComponent component, PlayerAttachedEvent args) { Dirty(component); }