using Content.Shared.APC; namespace Content.Client.Power.APC; [RegisterComponent] [Access(typeof(ApcVisualizerSystem))] public sealed partial class ApcVisualsComponent : Component { #region Indicators #region Locks /// /// The number of lock indicators on the APC. /// [DataField("numLockIndicators")] [ViewVariables(VVAccess.ReadWrite)] public byte LockIndicators = 2; /// /// The prefix used for the sprite state suffix of the lock indicator lights. /// Valid states are of the form \\\\-\ /// [DataField("lockIndicatorPrefix")] [ViewVariables(VVAccess.ReadWrite)] public string LockPrefix = "lock"; /// /// The suffixes used for the sprite state suffix of the lock indicator lights. /// Valid states are of the form \\-\ /// [DataField("lockIndicatorSuffixes")] [ViewVariables(VVAccess.ReadWrite)] public string[] LockSuffixes = new string[(byte)(2 << (sbyte)ApcLockState.LogWidth)]{"unlocked", "locked"}; #endregion Locks #region Channels /// /// The number of output channel indicator lights on the APC. /// [DataField("numChannelIndicators")] [ViewVariables(VVAccess.ReadWrite)] public byte ChannelIndicators = 3; /// /// The prefix used for the sprite state suffix of the channel indicator lights. /// Valid states are of the form \\\-\ /// [DataField("channelIndicatorPrefix")] [ViewVariables(VVAccess.ReadWrite)] public string ChannelPrefix = "channel"; /// /// The suffixes used for the sprite state suffix of the channel indicator lights. /// Valid states are of the form \\-\ /// [DataField("channelIndicatorSuffixes")] [ViewVariables(VVAccess.ReadWrite)] public string[] ChannelSuffixes = new string[(byte)(2 << (sbyte)ApcChannelState.LogWidth)]{"auto_off", "manual_off", "auto_on", "manual_on"}; #endregion Channels #endregion Indicators #region Screen /// /// The prefix used to construct the sprite state suffix used for the screen overlay. /// Valid sprite states are of the form \-\. /// [DataField("screenStatePrefix")] [ViewVariables(VVAccess.ReadWrite)] public string ScreenPrefix = "display"; /// /// The suffix used to construct the sprite state suffix used for the screen overlay. /// Valid sprite states are of the form \-\. /// [DataField("screenStateSuffixes")] [ViewVariables(VVAccess.ReadWrite)] public string[] ScreenSuffixes = new string[(byte)ApcChargeState.NumStates]{"lack", "charging", "full", "remote"}; /// /// The colors of the light emitted by the APC given a particular display state. /// [DataField("screenColors")] [ViewVariables(VVAccess.ReadWrite)] public Color[] ScreenColors = new Color[(byte)ApcChargeState.NumStates]{Color.FromHex("#d1332e"), Color.FromHex("#dcdc28"), Color.FromHex("#82ff4c"), Color.FromHex("#ffac1c")}; /// /// The sprite state of the unlit overlay used for the APC screen when the APC has been emagged. /// [DataField("emaggedScreenState")] [ViewVariables(VVAccess.ReadWrite)] public string EmaggedScreenState = "emag-unlit"; /// /// The color of the light emitted when the APC has been emagged. /// [DataField("emaggedScreenColor")] [ViewVariables(VVAccess.ReadWrite)] public Color EmaggedScreenColor = Color.FromHex("#1f48d6"); #endregion Screen }