Ejemplo n.º 1
0
 private void OnMetaFlagRemoval(EntityUid uid, FlashableComponent component, ref MetaFlagRemoveAttemptEvent args)
 {
     if (component.LifeStage == ComponentLifeStage.Running)
     {
         args.Cancelled = true;
     }
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 4
0
        private void HandleFlashTrigger(EntityUid uid, FlashOnTriggerComponent component, TriggerEvent args)
        {
            if (component.Flashed)
            {
                return;
            }

            FlashableComponent.FlashAreaHelper(component.Owner, component.Range, component.Duration);
            component.Flashed = true;
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 8
0
 private void OnFlashableShutdown(EntityUid uid, FlashableComponent component, ComponentShutdown args)
 {
     _metaSystem.RemoveFlag(uid, MetaDataFlags.EntitySpecific);
 }
Ejemplo n.º 9
0
 private void OnFlashableStartup(EntityUid uid, FlashableComponent component, ComponentStartup args)
 {
     _metaSystem.AddFlag(uid, MetaDataFlags.EntitySpecific);
 }
Ejemplo n.º 10
0
 private void OnPlayerAttached(EntityUid uid, FlashableComponent component, PlayerAttachedEvent args)
 {
     Dirty(component);
 }