using Robust.Shared.Map; using Robust.Shared.Serialization; using Content.Shared._NF.Shuttles.Events; using Content.Shared.Shuttles.Components; // Frontier using System.Numerics; // Frontier - InertiaDampeningMode access namespace Content.Shared.Shuttles.BUIStates; [Serializable, NetSerializable] public sealed class NavInterfaceState { public float MaxRange; /// /// The relevant coordinates to base the radar around. /// public NetCoordinates? Coordinates; /// /// The relevant rotation to rotate the angle around. /// public Angle? Angle; public Dictionary> Docks; public bool RotateWithEntity = true; // Frontier fields /// /// Frontier - the state of the shuttle's inertial dampeners /// public InertiaDampeningMode DampeningMode; /// /// Frontier: settable maximum IFF range /// public float? MaxIffRange = null; /// /// Frontier: settable coordinate visibility /// public bool HideCoords = false; /// /// Service Flags /// public ServiceFlags ServiceFlags { get; set; } /// /// A settable target to show on radar /// public Vector2? Target { get; set; } /// /// A settable target to show on radar /// public NetEntity? TargetEntity { get; set; } /// /// Frontier: whether or not to show the target coords /// public bool HideTarget = true; // End Frontier fields public NavInterfaceState( float maxRange, NetCoordinates? coordinates, Angle? angle, Dictionary> docks, InertiaDampeningMode dampeningMode, // Frontier ServiceFlags serviceFlags, // Frontier Vector2? target, // Frontier NetEntity? targetEntity, // Frontier bool hideTarget) // Frontier { MaxRange = maxRange; Coordinates = coordinates; Angle = angle; Docks = docks; DampeningMode = dampeningMode; // Frontier ServiceFlags = serviceFlags; // Frontier Target = target; // Frontier TargetEntity = targetEntity; // Frontier HideTarget = hideTarget; // Frontier } } [Serializable, NetSerializable] public enum RadarConsoleUiKey : byte { Key }