using Content.Shared.Hands;
using Content.Shared.Movement.Systems;
using Content.Shared.Wieldable;
namespace Content.Shared.Traits.Assorted;
///
/// Handles
///
public sealed class MobilityAidSystem : EntitySystem
{
[Dependency] private readonly MovementSpeedModifierSystem _movementSpeedModifier = default!;
///
public override void Initialize()
{
SubscribeLocalEvent(OnGotEquippedHand);
SubscribeLocalEvent(OnGotUnequippedHand);
SubscribeLocalEvent(OnMobilityAidWielded);
SubscribeLocalEvent(OnMobilityAidUnwielded);
}
private void OnGotEquippedHand(Entity ent, ref GotEquippedHandEvent args)
{
_movementSpeedModifier.RefreshMovementSpeedModifiers(args.User);
}
private void OnGotUnequippedHand(Entity ent, ref GotUnequippedHandEvent args)
{
_movementSpeedModifier.RefreshMovementSpeedModifiers(args.User);
}
private void OnMobilityAidWielded(Entity ent, ref ItemWieldedEvent args)
{
_movementSpeedModifier.RefreshMovementSpeedModifiers(args.User);
}
private void OnMobilityAidUnwielded(Entity ent, ref ItemUnwieldedEvent args)
{
_movementSpeedModifier.RefreshMovementSpeedModifiers(args.User);
}
}