using Robust.Shared.Audio;
using Robust.Shared.GameStates;
namespace Content.Shared.Standing;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class StandingStateComponent : Component
{
[DataField]
public SoundSpecifier DownSound { get; private set; } = new SoundCollectionSpecifier("BodyFall");
[DataField, AutoNetworkedField]
public StandingState CurrentState { get; set; } = StandingState.Standing;
[DataField, AutoNetworkedField]
public bool Standing { get; set; } = true;
///
/// List of fixtures that had their collision mask changed when the entity was downed.
/// Required for re-adding the collision mask.
///
[DataField, AutoNetworkedField]
public List ChangedFixtures = new();
///
/// WWDP - How much should the floor friction change if not standing
///
[DataField, AutoNetworkedField]
public float LayingFrictionMultiplier = 3f;
}
public enum StandingState
{
Lying,
GettingUp,
Standing,
}