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
}