| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using Robust.Shared.GameStates;
- using Robust.Shared.Map;
- namespace Content.Shared.Movement.Components
- {
- /// <summary>
- /// Has additional movement data such as footsteps and weightless grab range for an entity.
- /// </summary>
- [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
- public sealed partial class MobMoverComponent : Component
- {
- private float _stepSoundDistance;
- [DataField] public float GrabRange = 1.0f;
- [DataField] public float PushStrength = 600f;
- [DataField, AutoNetworkedField]
- public float StepSoundMoveDistanceRunning = 2;
- [DataField, AutoNetworkedField]
- public float StepSoundMoveDistanceWalking = 1.5f;
- [DataField, AutoNetworkedField]
- public float FootstepVariation;
- [ViewVariables(VVAccess.ReadWrite)]
- public EntityCoordinates LastPosition { get; set; }
- /// <summary>
- /// Used to keep track of how far we have moved before playing a step sound
- /// </summary>
- [ViewVariables(VVAccess.ReadWrite)]
- public float StepSoundDistance
- {
- get => _stepSoundDistance;
- set
- {
- if (MathHelper.CloseToPercent(_stepSoundDistance, value)) return;
- _stepSoundDistance = value;
- }
- }
- [ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
- public float GrabRangeVV
- {
- get => GrabRange;
- set
- {
- if (MathHelper.CloseToPercent(GrabRange, value)) return;
- GrabRange = value;
- Dirty();
- }
- }
- [ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
- public float PushStrengthVV
- {
- get => PushStrength;
- set
- {
- if (MathHelper.CloseToPercent(PushStrength, value)) return;
- PushStrength = value;
- Dirty();
- }
- }
- }
- }
|