using System.Numerics;
using Content.Shared.Alert;
using Content.Shared.Movement.Systems;
using Robust.Shared.GameStates;
using Robust.Shared.Map;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
namespace Content.Shared.Shuttles.Components
{
///
/// Stores what shuttle this entity is currently piloting.
///
[RegisterComponent]
[NetworkedComponent]
public sealed partial class PilotComponent : Component
{
[ViewVariables]
public EntityUid? Console { get; set; }
///
/// Where we started piloting from to check if we should break from moving too far.
///
[ViewVariables]
public EntityCoordinates? Position { get; set; }
public Vector2 CurTickStrafeMovement = Vector2.Zero;
public float CurTickRotationMovement;
public float CurTickBraking;
public GameTick LastInputTick = GameTick.Zero;
public ushort LastInputSubTick = 0;
[ViewVariables]
public ShuttleButtons HeldButtons = ShuttleButtons.None;
[DataField]
public ProtoId PilotingAlert = "PilotingShuttle";
public override bool SendOnlyToOwner => true;
}
public sealed partial class StopPilotingAlertEvent : BaseAlertEvent;
}