// © SUNRISE, An EULA/CLA with a hosting restriction, full text: https://github.com/space-sunrise/space-station-14/blob/master/CLA.txt
using Content.Shared.Clothing;
using Content.Shared.Hands;
using Content.Shared.Movement.Systems;
namespace Content.Shared.Item;
///
/// This handles
///
public sealed class SpeedModifierOnSystem : EntitySystem
{
[Dependency] private readonly MovementSpeedModifierSystem _movementSpeedModifier = default!;
///
public override void Initialize()
{
SubscribeLocalEvent(OnGotEquippedHand);
SubscribeLocalEvent(OnGotUnequippedHand);
SubscribeLocalEvent(OnRefreshMovementSpeedModifiers);
}
private void OnGotEquippedHand(EntityUid uid, SpeedModifierOnComponent component, ComponentInit args)
{
_movementSpeedModifier.RefreshMovementSpeedModifiers(uid);
}
private void OnGotUnequippedHand(EntityUid uid, SpeedModifierOnComponent component, ComponentShutdown args)
{
component.TurnedOff = true;
_movementSpeedModifier.RefreshMovementSpeedModifiers(uid);
}
private void OnRefreshMovementSpeedModifiers(EntityUid uid, SpeedModifierOnComponent component, RefreshMovementSpeedModifiersEvent args)
{
if (!component.TurnedOff)
{
args.ModifySpeed(component.WalkModifier, component.SprintModifier);
}
}
}