Files
wwdpublic/Content.Shared/Movement/Systems/SharedMoverController.CVars.cs
Spatison 462ecb429e [Tweak] Hud UI (#834)
* combat mode ui

* movement ui

* some fix

* fix

* more fix

* fix
2025-09-13 17:38:24 +03:00

44 lines
1.6 KiB
C#

using Content.Shared.CCVar;
using Content.Shared.Mind.Components;
using Content.Shared.Movement.Components;
using Content.Shared.Movement.Events;
using Robust.Shared.Configuration;
namespace Content.Shared.Movement.Systems;
public abstract partial class SharedMoverController
{
[Dependency] private readonly INetConfigurationManager _netConfig = default!;
private void InitializeCVars()
{
SubscribeLocalEvent<InputMoverComponent, MindAddedMessage>(OnMindAdded);
SubscribeLocalEvent<InputMoverComponent, MindRemovedMessage>(OnMindRemoved);
SubscribeNetworkEvent<UpdateInputCVarsMessage>(OnUpdateCVars);
}
private void OnMindAdded(Entity<InputMoverComponent> ent, ref MindAddedMessage args)
{
if (args.Mind.Comp.Session?.Channel is not { } channel)
return;
ent.Comp.DefaultSprinting = _netConfig.GetClientCVar(channel, CCVars.DefaultWalk);
SprintingMovementUpdate(ent); // WD EDIT
}
private void OnMindRemoved(Entity<InputMoverComponent> ent, ref MindRemovedMessage args)
{
// If it's an ai-controlled mob, we probably want them sprinting by default.
ent.Comp.DefaultSprinting = true;
}
private void OnUpdateCVars(UpdateInputCVarsMessage msg, EntitySessionEventArgs args)
{
if (args.SenderSession.AttachedEntity is not { } uid || !TryComp<InputMoverComponent>(uid, out var mover))
return;
mover.DefaultSprinting = _netConfig.GetClientCVar(args.SenderSession.Channel, CCVars.DefaultWalk);
SprintingMovementUpdate((uid, mover)); // WD EDIT
}
}