Reset speed when buckling (#19846)

This commit is contained in:
Slava0135
2023-09-16 07:15:05 +03:00
committed by GitHub
parent 411fc8e27b
commit 2e1197257c
4 changed files with 105 additions and 97 deletions

View File

@@ -23,18 +23,20 @@ public abstract partial class SharedBuckleSystem : EntitySystem
[Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
[Dependency] private readonly ISharedPlayerManager _playerManager = default!;
[Dependency] protected readonly ActionBlockerSystem ActionBlockerSystem = default!;
[Dependency] private readonly AlertsSystem _alertsSystem = default!;
[Dependency] private readonly MobStateSystem _mobStateSystem = default!;
[Dependency] protected readonly SharedAppearanceSystem AppearanceSystem = default!;
[Dependency] private readonly SharedAudioSystem _audioSystem = default!;
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
[Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
[Dependency] private readonly SharedJointSystem _joints = default!;
[Dependency] private readonly SharedPopupSystem _popupSystem = default!;
[Dependency] private readonly SharedPullingSystem _pullingSystem = default!;
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
[Dependency] private readonly StandingStateSystem _standingSystem = default!;
[Dependency] protected readonly ActionBlockerSystem ActionBlocker = default!;
[Dependency] protected readonly SharedAppearanceSystem Appearance = default!;
[Dependency] private readonly AlertsSystem _alerts = default!;
[Dependency] private readonly MobStateSystem _mobState = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly SharedContainerSystem _container = default!;
[Dependency] private readonly SharedInteractionSystem _interaction = default!;
[Dependency] private readonly SharedJointSystem _joints = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;
[Dependency] private readonly SharedPullingSystem _pulling = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly StandingStateSystem _standing = default!;
[Dependency] private readonly SharedPhysicsSystem _physics = default!;
/// <inheritdoc/>
public override void Initialize()
@@ -63,16 +65,16 @@ public abstract partial class SharedBuckleSystem : EntitySystem
|| !Resolve(buckleUid, ref buckleComp, false))
return;
var buckleTransform = Transform(buckleUid);
_transform.SetCoordinates(buckleUid, new EntityCoordinates(strapUid, strapComp.BuckleOffset));
buckleTransform.Coordinates = new EntityCoordinates(strapUid, strapComp.BuckleOffset);
var buckleTransform = Transform(buckleUid);
// Buckle subscribes to move for <reasons> so this might fail.
// TODO: Make buckle not do that.
if (buckleTransform.ParentUid != strapUid)
return;
_transformSystem.SetLocalRotation(buckleUid, Angle.Zero, buckleTransform);
_transform.SetLocalRotation(buckleUid, Angle.Zero, buckleTransform);
_joints.RefreshRelay(buckleUid, strapUid);
switch (strapComp.Position)
@@ -80,10 +82,10 @@ public abstract partial class SharedBuckleSystem : EntitySystem
case StrapPosition.None:
break;
case StrapPosition.Stand:
_standingSystem.Stand(buckleUid);
_standing.Stand(buckleUid);
break;
case StrapPosition.Down:
_standingSystem.Down(buckleUid, false, false);
_standing.Down(buckleUid, false, false);
break;
}
}