ECS flash area on collision (#4311)

This commit is contained in:
metalgearsloth
2021-07-21 19:20:13 +10:00
committed by GitHub
parent 5befd58887
commit 4b78e0a4e0
5 changed files with 33 additions and 43 deletions

View File

@@ -10,11 +10,12 @@ using Robust.Shared.Audio;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Physics.Dynamics;
using Robust.Shared.Player;
namespace Content.Server.Flash
{
public class FlashSystem : EntitySystem
internal sealed class FlashSystem : EntitySystem
{
public override void Initialize()
{
@@ -25,6 +26,15 @@ namespace Content.Server.Flash
SubscribeLocalEvent<FlashComponent, UseInHandEvent>(OnUseInHand);
SubscribeLocalEvent<FlashComponent, ExaminedEvent>(OnExamined);
SubscribeLocalEvent<FlashAreaOnCollide, StartCollideEvent>(HandleCollide);
}
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 void OnMeleeHit(EntityUid uid, FlashComponent comp, MeleeHitEvent args)