36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using Content.Client.Atmos;
|
|
using Robust.Client.GameObjects;
|
|
using Robust.Client.Interfaces.Graphics.Overlays;
|
|
using Robust.Shared.GameObjects;
|
|
using Robust.Shared.Interfaces.GameObjects;
|
|
using Robust.Shared.IoC;
|
|
|
|
namespace Content.Client.GameObjects.Components.Atmos
|
|
{
|
|
[RegisterComponent]
|
|
public class CanSeeGasesComponent : Component
|
|
{
|
|
[Dependency] private readonly IOverlayManager _overlayManager = default!;
|
|
|
|
public override string Name => "CanSeeGases";
|
|
|
|
public override void HandleMessage(ComponentMessage message, IComponent component)
|
|
{
|
|
base.HandleMessage(message, component);
|
|
|
|
switch (message)
|
|
{
|
|
case PlayerAttachedMsg _:
|
|
if(!_overlayManager.HasOverlay(nameof(GasTileOverlay)))
|
|
_overlayManager.AddOverlay(new GasTileOverlay());
|
|
break;
|
|
|
|
case PlayerDetachedMsg _:
|
|
if(!_overlayManager.HasOverlay(nameof(GasTileOverlay)))
|
|
_overlayManager.RemoveOverlay(nameof(GasTileOverlay));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|