| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using Content.Shared.Alert;
- using Robust.Shared.GameStates;
- using Robust.Shared.Prototypes;
- namespace Content.Shared.Movement.Pulling.Components;
- /// <summary>
- /// Specifies an entity as being pullable by an entity with <see cref="PullerComponent"/>
- /// </summary>
- [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
- [Access(typeof(Systems.PullingSystem))]
- public sealed partial class PullableComponent : Component
- {
- /// <summary>
- /// The current entity pulling this component.
- /// </summary>
- [AutoNetworkedField, DataField]
- public EntityUid? Puller;
- /// <summary>
- /// The pull joint.
- /// </summary>
- [AutoNetworkedField, DataField]
- public string? PullJointId;
- public bool BeingPulled => Puller != null;
- /// <summary>
- /// If the physics component has FixedRotation should we keep it upon being pulled
- /// </summary>
- [Access(typeof(Systems.PullingSystem), Other = AccessPermissions.ReadExecute)]
- [ViewVariables(VVAccess.ReadWrite), DataField("fixedRotation")]
- public bool FixedRotationOnPull;
- /// <summary>
- /// What the pullable's fixedrotation was set to before being pulled.
- /// </summary>
- [Access(typeof(Systems.PullingSystem), Other = AccessPermissions.ReadExecute)]
- [AutoNetworkedField, DataField]
- public bool PrevFixedRotation;
- [DataField]
- public ProtoId<AlertPrototype> PulledAlert = "Pulled";
- }
- public sealed partial class StopBeingPulledAlertEvent : BaseAlertEvent;
|