Fix TrayScannerUser (#35959)

* Fix TrayScannerUser

* Ignore

* Update Content.Shared/SubFloor/TrayScannerUserComponent.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
metalgearsloth
2025-03-25 02:35:22 +11:00
committed by GitHub
parent 7c9e344cd2
commit 4f23016c72
2 changed files with 30 additions and 2 deletions

View File

@@ -3,12 +3,14 @@ using Content.Shared.Hands;
using Content.Shared.Interaction; using Content.Shared.Interaction;
using Content.Shared.Inventory.Events; using Content.Shared.Inventory.Events;
using Robust.Shared.GameStates; using Robust.Shared.GameStates;
using Robust.Shared.Network;
using Robust.Shared.Serialization; using Robust.Shared.Serialization;
namespace Content.Shared.SubFloor; namespace Content.Shared.SubFloor;
public abstract class SharedTrayScannerSystem : EntitySystem public abstract class SharedTrayScannerSystem : EntitySystem
{ {
[Dependency] private readonly INetManager _netMan = default!;
[Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly SharedEyeSystem _eye = default!; [Dependency] private readonly SharedEyeSystem _eye = default!;
@@ -37,12 +39,31 @@ public abstract class SharedTrayScannerSystem : EntitySystem
private void OnEquip(EntityUid user) private void OnEquip(EntityUid user)
{ {
EnsureComp<TrayScannerUserComponent>(user); if (_netMan.IsClient)
return;
var comp = EnsureComp<TrayScannerUserComponent>(user);
comp.Count++;
if (comp.Count > 1)
return;
_eye.RefreshVisibilityMask(user); _eye.RefreshVisibilityMask(user);
} }
private void OnUnequip(EntityUid user) private void OnUnequip(EntityUid user)
{ {
if (_netMan.IsClient)
return;
if (!TryComp(user, out TrayScannerUserComponent? comp))
return;
comp.Count--;
if (comp.Count > 0)
return;
RemComp<TrayScannerUserComponent>(user); RemComp<TrayScannerUserComponent>(user);
_eye.RefreshVisibilityMask(user); _eye.RefreshVisibilityMask(user);
} }

View File

@@ -5,4 +5,11 @@ namespace Content.Shared.SubFloor;
/// Added to anyone using <see cref="TrayScannerComponent"/> to handle the vismask changes. /// Added to anyone using <see cref="TrayScannerComponent"/> to handle the vismask changes.
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
public sealed partial class TrayScannerUserComponent : Component; public sealed partial class TrayScannerUserComponent : Component
{
/// <summary>
/// How many t-rays the user is currently using.
/// </summary>
[DataField]
public int Count;
}