Blindness refactor (#15705)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
34
Content.Shared/Eye/Blinding/Systems/BlindfoldSystem.cs
Normal file
34
Content.Shared/Eye/Blinding/Systems/BlindfoldSystem.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using Content.Shared.Eye.Blinding.Components;
|
||||
using Content.Shared.Inventory.Events;
|
||||
using Content.Shared.Inventory;
|
||||
|
||||
namespace Content.Shared.Eye.Blinding.Systems;
|
||||
|
||||
public sealed class BlindfoldSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly BlindableSystem _blindableSystem = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<BlindfoldComponent, GotEquippedEvent>(OnEquipped);
|
||||
SubscribeLocalEvent<BlindfoldComponent, GotUnequippedEvent>(OnUnequipped);
|
||||
SubscribeLocalEvent<BlindfoldComponent, InventoryRelayedEvent<CanSeeAttemptEvent>>(OnBlindfoldTrySee);
|
||||
}
|
||||
|
||||
private void OnBlindfoldTrySee(EntityUid uid, BlindfoldComponent component, InventoryRelayedEvent<CanSeeAttemptEvent> args)
|
||||
{
|
||||
args.Args.Cancel();
|
||||
}
|
||||
|
||||
private void OnEquipped(EntityUid uid, BlindfoldComponent component, GotEquippedEvent args)
|
||||
{
|
||||
_blindableSystem.UpdateIsBlind(args.Equipee);
|
||||
}
|
||||
|
||||
private void OnUnequipped(EntityUid uid, BlindfoldComponent component, GotUnequippedEvent args)
|
||||
{
|
||||
_blindableSystem.UpdateIsBlind(args.Equipee);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user