using Content.Shared.Shuttles.Systems; using Robust.Shared.GameStates; using System.Numerics; // Frontier namespace Content.Shared.Shuttles.Components; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedRadarConsoleSystem))] public sealed partial class RadarConsoleComponent : Component { [ViewVariables(VVAccess.ReadWrite)] public float RangeVV { get => MaxRange; set => IoCManager .Resolve() .GetEntitySystem() .SetRange(Owner, value, this); } [DataField, AutoNetworkedField] public float MaxRange = 256f; /// /// If true, the radar will be centered on the entity. If not - on the grid on which it is located. /// [DataField] public bool FollowEntity = false; // Frontier: ghost radar restrictions /// /// If true, the radar will be centered on the entity. If not - on the grid on which it is located. /// [DataField] public float? MaxIffRange = null; /// /// If true, the radar will not show the coordinates of objects on hover /// [DataField] public bool HideCoords = false; /// /// A settable target to display on IFF /// [DataField] public Vector2? Target; /// /// If not null, the target whose information will be displayed on the radar. /// [DataField] public EntityUid? TargetEntity; /// /// Whether or not to display the target IFF /// [DataField] public bool HideTarget = false; // End Frontier }