From: DrSmugleaf Date: Sat, 8 Apr 2023 20:15:52 +0000 (-0700) Subject: Remove id card console component reference (#15205) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=b4164e62b126d7182ba071d81d3cf91080d3e430;p=space-station-14.git Remove id card console component reference (#15205) --- diff --git a/Content.Client/Access/Components/IdCardConsoleComponent.cs b/Content.Client/Access/Components/IdCardConsoleComponent.cs deleted file mode 100644 index f01c003539..0000000000 --- a/Content.Client/Access/Components/IdCardConsoleComponent.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Content.Shared.Access.Components; - -namespace Content.Client.Access.Components; - -[RegisterComponent] -[ComponentReference(typeof(SharedIdCardConsoleComponent))] -public sealed class IdCardConsoleComponent : SharedIdCardConsoleComponent {} diff --git a/Content.Client/Access/UI/IdCardConsoleBoundUserInterface.cs b/Content.Client/Access/UI/IdCardConsoleBoundUserInterface.cs index 1ef9158aeb..d51e91401f 100644 --- a/Content.Client/Access/UI/IdCardConsoleBoundUserInterface.cs +++ b/Content.Client/Access/UI/IdCardConsoleBoundUserInterface.cs @@ -1,10 +1,10 @@ -using Content.Client.Access.Components; +using Content.Shared.Access.Components; using Content.Shared.Access.Systems; using Content.Shared.Containers.ItemSlots; using Content.Shared.CrewManifest; using Robust.Client.GameObjects; using Robust.Shared.Prototypes; -using static Content.Shared.Access.Components.SharedIdCardConsoleComponent; +using static Content.Shared.Access.Components.IdCardConsoleComponent; namespace Content.Client.Access.UI { public sealed class IdCardConsoleBoundUserInterface : BoundUserInterface diff --git a/Content.Client/Access/UI/IdCardConsoleWindow.xaml.cs b/Content.Client/Access/UI/IdCardConsoleWindow.xaml.cs index a0c259301f..9bc410db0f 100644 --- a/Content.Client/Access/UI/IdCardConsoleWindow.xaml.cs +++ b/Content.Client/Access/UI/IdCardConsoleWindow.xaml.cs @@ -1,4 +1,3 @@ -using System.Collections.Generic; using System.Linq; using Content.Shared.Access; using Content.Shared.Access.Systems; @@ -7,10 +6,8 @@ using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.XAML; -using Robust.Shared.Localization; -using Robust.Shared.Maths; using Robust.Shared.Prototypes; -using static Content.Shared.Access.Components.SharedIdCardConsoleComponent; +using static Content.Shared.Access.Components.IdCardConsoleComponent; namespace Content.Client.Access.UI { diff --git a/Content.Server/Access/Components/IdCardConsoleComponent.cs b/Content.Server/Access/Components/IdCardConsoleComponent.cs deleted file mode 100644 index a93e09e862..0000000000 --- a/Content.Server/Access/Components/IdCardConsoleComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Content.Server.Access.Systems; -using Content.Shared.Access.Components; - -namespace Content.Server.Access.Components; - -[RegisterComponent] -[ComponentReference(typeof(SharedIdCardConsoleComponent))] -[Access(typeof(IdCardConsoleSystem))] -public sealed class IdCardConsoleComponent : SharedIdCardConsoleComponent -{ -} diff --git a/Content.Server/Access/Systems/IdCardConsoleSystem.cs b/Content.Server/Access/Systems/IdCardConsoleSystem.cs index 5804e709d4..4318987233 100644 --- a/Content.Server/Access/Systems/IdCardConsoleSystem.cs +++ b/Content.Server/Access/Systems/IdCardConsoleSystem.cs @@ -11,7 +11,7 @@ using JetBrains.Annotations; using Robust.Server.GameObjects; using Robust.Shared.Containers; using Robust.Shared.Prototypes; -using static Content.Shared.Access.Components.SharedIdCardConsoleComponent; +using static Content.Shared.Access.Components.IdCardConsoleComponent; namespace Content.Server.Access.Systems; @@ -31,15 +31,15 @@ public sealed class IdCardConsoleSystem : SharedIdCardConsoleSystem { base.Initialize(); - SubscribeLocalEvent(OnWriteToTargetIdMessage); + SubscribeLocalEvent(OnWriteToTargetIdMessage); // one day, maybe bound user interfaces can be shared too. - SubscribeLocalEvent(UpdateUserInterface); - SubscribeLocalEvent(UpdateUserInterface); - SubscribeLocalEvent(UpdateUserInterface); + SubscribeLocalEvent(UpdateUserInterface); + SubscribeLocalEvent(UpdateUserInterface); + SubscribeLocalEvent(UpdateUserInterface); } - private void OnWriteToTargetIdMessage(EntityUid uid, SharedIdCardConsoleComponent component, WriteToTargetIdMessage args) + private void OnWriteToTargetIdMessage(EntityUid uid, IdCardConsoleComponent component, WriteToTargetIdMessage args) { if (args.Session.AttachedEntity is not { Valid: true } player) return; @@ -49,7 +49,7 @@ public sealed class IdCardConsoleSystem : SharedIdCardConsoleSystem UpdateUserInterface(uid, component, args); } - private void UpdateUserInterface(EntityUid uid, SharedIdCardConsoleComponent component, EntityEventArgs args) + private void UpdateUserInterface(EntityUid uid, IdCardConsoleComponent component, EntityEventArgs args) { if (!component.Initialized) return; @@ -109,7 +109,7 @@ public sealed class IdCardConsoleSystem : SharedIdCardConsoleSystem /// /// Called whenever an access button is pressed, adding or removing that access from the target ID card. - /// Writes data passed from the UI into the ID stored in , if present. + /// Writes data passed from the UI into the ID stored in , if present. /// private void TryWriteToTargetId(EntityUid uid, string newFullName, @@ -117,7 +117,7 @@ public sealed class IdCardConsoleSystem : SharedIdCardConsoleSystem List newAccessList, string newJobProto, EntityUid player, - SharedIdCardConsoleComponent? component = null) + IdCardConsoleComponent? component = null) { if (!Resolve(uid, ref component)) return; @@ -153,9 +153,9 @@ public sealed class IdCardConsoleSystem : SharedIdCardConsoleSystem } /// - /// Returns true if there is an ID in and said ID satisfies the requirements of . + /// Returns true if there is an ID in and said ID satisfies the requirements of . /// - private bool PrivilegedIdIsAuthorized(EntityUid uid, SharedIdCardConsoleComponent? component = null) + private bool PrivilegedIdIsAuthorized(EntityUid uid, IdCardConsoleComponent? component = null) { if (!Resolve(uid, ref component)) return true; diff --git a/Content.Server/Access/Systems/IdCardSystem.cs b/Content.Server/Access/Systems/IdCardSystem.cs index cebc23aca2..279268c0b6 100644 --- a/Content.Server/Access/Systems/IdCardSystem.cs +++ b/Content.Server/Access/Systems/IdCardSystem.cs @@ -95,8 +95,8 @@ namespace Content.Server.Access.Systems { jobTitle = jobTitle.Trim(); - if (jobTitle.Length > SharedIdCardConsoleComponent.MaxJobTitleLength) - jobTitle = jobTitle[..SharedIdCardConsoleComponent.MaxJobTitleLength]; + if (jobTitle.Length > IdCardConsoleComponent.MaxJobTitleLength) + jobTitle = jobTitle[..IdCardConsoleComponent.MaxJobTitleLength]; } else { @@ -132,8 +132,8 @@ namespace Content.Server.Access.Systems if (!string.IsNullOrWhiteSpace(fullName)) { fullName = fullName.Trim(); - if (fullName.Length > SharedIdCardConsoleComponent.MaxFullNameLength) - fullName = fullName[..SharedIdCardConsoleComponent.MaxFullNameLength]; + if (fullName.Length > IdCardConsoleComponent.MaxFullNameLength) + fullName = fullName[..IdCardConsoleComponent.MaxFullNameLength]; } else { diff --git a/Content.Server/Mind/Commands/RenameCommand.cs b/Content.Server/Mind/Commands/RenameCommand.cs index 7b3cb92c16..7efe3d9b4f 100644 --- a/Content.Server/Mind/Commands/RenameCommand.cs +++ b/Content.Server/Mind/Commands/RenameCommand.cs @@ -30,7 +30,7 @@ public sealed class RenameCommand : IConsoleCommand } var name = args[1]; - if (name.Length > SharedIdCardConsoleComponent.MaxFullNameLength) + if (name.Length > IdCardConsoleComponent.MaxFullNameLength) { shell.WriteLine("Name is too long."); return; diff --git a/Content.Shared/Access/Components/IdCardConsoleComponent.cs b/Content.Shared/Access/Components/IdCardConsoleComponent.cs new file mode 100644 index 0000000000..87c5f48bf9 --- /dev/null +++ b/Content.Shared/Access/Components/IdCardConsoleComponent.cs @@ -0,0 +1,117 @@ +using Content.Shared.Access.Systems; +using Content.Shared.Containers.ItemSlots; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; + +namespace Content.Shared.Access.Components; + +[RegisterComponent, NetworkedComponent] +[Access(typeof(SharedIdCardConsoleSystem))] +public sealed class IdCardConsoleComponent : Component +{ + public const int MaxFullNameLength = 30; + public const int MaxJobTitleLength = 30; + + public static string PrivilegedIdCardSlotId = "IdCardConsole-privilegedId"; + public static string TargetIdCardSlotId = "IdCardConsole-targetId"; + + [DataField("privilegedIdSlot")] + public ItemSlot PrivilegedIdSlot = new(); + + [DataField("targetIdSlot")] + public ItemSlot TargetIdSlot = new(); + + [Serializable, NetSerializable] + public sealed class WriteToTargetIdMessage : BoundUserInterfaceMessage + { + public readonly string FullName; + public readonly string JobTitle; + public readonly List AccessList; + public readonly string JobPrototype; + + public WriteToTargetIdMessage(string fullName, string jobTitle, List accessList, string jobPrototype) + { + FullName = fullName; + JobTitle = jobTitle; + AccessList = accessList; + JobPrototype = jobPrototype; + } + } + + // Put this on shared so we just send the state once in PVS range rather than every time the UI updates. + + [DataField("accessLevels", customTypeSerializer: typeof(PrototypeIdListSerializer))] + public List AccessLevels = new() + { + "Armory", + "Atmospherics", + "Bar", + "Brig", + "Detective", + "Captain", + "Cargo", + "Chapel", + "Chemistry", + "ChiefEngineer", + "ChiefMedicalOfficer", + "Command", + "Engineering", + "External", + "HeadOfPersonnel", + "HeadOfSecurity", + "Hydroponics", + "Janitor", + "Kitchen", + "Maintenance", + "Medical", + "Quartermaster", + "Research", + "ResearchDirector", + "Salvage", + "Security", + "Service", + "Theatre", + }; + + [Serializable, NetSerializable] + public sealed class IdCardConsoleBoundUserInterfaceState : BoundUserInterfaceState + { + public readonly string PrivilegedIdName; + public readonly bool IsPrivilegedIdPresent; + public readonly bool IsPrivilegedIdAuthorized; + public readonly bool IsTargetIdPresent; + public readonly string TargetIdName; + public readonly string? TargetIdFullName; + public readonly string? TargetIdJobTitle; + public readonly string[]? TargetIdAccessList; + public readonly string TargetIdJobPrototype; + + public IdCardConsoleBoundUserInterfaceState(bool isPrivilegedIdPresent, + bool isPrivilegedIdAuthorized, + bool isTargetIdPresent, + string? targetIdFullName, + string? targetIdJobTitle, + string[]? targetIdAccessList, + string targetIdJobPrototype, + string privilegedIdName, + string targetIdName) + { + IsPrivilegedIdPresent = isPrivilegedIdPresent; + IsPrivilegedIdAuthorized = isPrivilegedIdAuthorized; + IsTargetIdPresent = isTargetIdPresent; + TargetIdFullName = targetIdFullName; + TargetIdJobTitle = targetIdJobTitle; + TargetIdAccessList = targetIdAccessList; + TargetIdJobPrototype = targetIdJobPrototype; + PrivilegedIdName = privilegedIdName; + TargetIdName = targetIdName; + } + } + + [Serializable, NetSerializable] + public enum IdCardConsoleUiKey : byte + { + Key, + } +} diff --git a/Content.Shared/Access/Components/SharedIdCardConsoleComponent.cs b/Content.Shared/Access/Components/SharedIdCardConsoleComponent.cs deleted file mode 100644 index be2f604f4a..0000000000 --- a/Content.Shared/Access/Components/SharedIdCardConsoleComponent.cs +++ /dev/null @@ -1,116 +0,0 @@ -using Content.Shared.Containers.ItemSlots; -using Robust.Shared.GameStates; -using Robust.Shared.Serialization; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; - -namespace Content.Shared.Access.Components -{ - [NetworkedComponent] - public abstract class SharedIdCardConsoleComponent : Component - { - public const int MaxFullNameLength = 30; - public const int MaxJobTitleLength = 30; - - public static string PrivilegedIdCardSlotId = "IdCardConsole-privilegedId"; - public static string TargetIdCardSlotId = "IdCardConsole-targetId"; - - [DataField("privilegedIdSlot")] - public ItemSlot PrivilegedIdSlot = new(); - - [DataField("targetIdSlot")] - public ItemSlot TargetIdSlot = new(); - - [Serializable, NetSerializable] - public sealed class WriteToTargetIdMessage : BoundUserInterfaceMessage - { - public readonly string FullName; - public readonly string JobTitle; - public readonly List AccessList; - public readonly string JobPrototype; - - public WriteToTargetIdMessage(string fullName, string jobTitle, List accessList, string jobPrototype) - { - FullName = fullName; - JobTitle = jobTitle; - AccessList = accessList; - JobPrototype = jobPrototype; - } - } - - // Put this on shared so we just send the state once in PVS range rather than every time the UI updates. - - [DataField("accessLevels", customTypeSerializer: typeof(PrototypeIdListSerializer))] - public List AccessLevels = new() - { - "Armory", - "Atmospherics", - "Bar", - "Brig", - "Detective", - "Captain", - "Cargo", - "Chapel", - "Chemistry", - "ChiefEngineer", - "ChiefMedicalOfficer", - "Command", - "Engineering", - "External", - "HeadOfPersonnel", - "HeadOfSecurity", - "Hydroponics", - "Janitor", - "Kitchen", - "Maintenance", - "Medical", - "Quartermaster", - "Research", - "ResearchDirector", - "Salvage", - "Security", - "Service", - "Theatre", - }; - - [Serializable, NetSerializable] - public sealed class IdCardConsoleBoundUserInterfaceState : BoundUserInterfaceState - { - public readonly string PrivilegedIdName; - public readonly bool IsPrivilegedIdPresent; - public readonly bool IsPrivilegedIdAuthorized; - public readonly bool IsTargetIdPresent; - public readonly string TargetIdName; - public readonly string? TargetIdFullName; - public readonly string? TargetIdJobTitle; - public readonly string[]? TargetIdAccessList; - public readonly string TargetIdJobPrototype; - - public IdCardConsoleBoundUserInterfaceState(bool isPrivilegedIdPresent, - bool isPrivilegedIdAuthorized, - bool isTargetIdPresent, - string? targetIdFullName, - string? targetIdJobTitle, - string[]? targetIdAccessList, - string targetIdJobPrototype, - string privilegedIdName, - string targetIdName) - { - IsPrivilegedIdPresent = isPrivilegedIdPresent; - IsPrivilegedIdAuthorized = isPrivilegedIdAuthorized; - IsTargetIdPresent = isTargetIdPresent; - TargetIdFullName = targetIdFullName; - TargetIdJobTitle = targetIdJobTitle; - TargetIdAccessList = targetIdAccessList; - TargetIdJobPrototype = targetIdJobPrototype; - PrivilegedIdName = privilegedIdName; - TargetIdName = targetIdName; - } - } - - [Serializable, NetSerializable] - public enum IdCardConsoleUiKey : byte - { - Key, - } - } -} diff --git a/Content.Shared/Access/Systems/SharedIdCardConsoleSystem.cs b/Content.Shared/Access/Systems/SharedIdCardConsoleSystem.cs index d01fcbab7d..8661b47ccf 100644 --- a/Content.Shared/Access/Systems/SharedIdCardConsoleSystem.cs +++ b/Content.Shared/Access/Systems/SharedIdCardConsoleSystem.cs @@ -17,30 +17,30 @@ namespace Content.Shared.Access.Systems { base.Initialize(); - SubscribeLocalEvent(OnComponentInit); - SubscribeLocalEvent(OnComponentRemove); - SubscribeLocalEvent(OnGetState); - SubscribeLocalEvent(OnHandleState); + SubscribeLocalEvent(OnComponentInit); + SubscribeLocalEvent(OnComponentRemove); + SubscribeLocalEvent(OnGetState); + SubscribeLocalEvent(OnHandleState); } - private void OnHandleState(EntityUid uid, SharedIdCardConsoleComponent component, ref ComponentHandleState args) + private void OnHandleState(EntityUid uid, IdCardConsoleComponent component, ref ComponentHandleState args) { if (args.Current is not IdCardConsoleComponentState state) return; component.AccessLevels = state.AccessLevels; } - private void OnGetState(EntityUid uid, SharedIdCardConsoleComponent component, ref ComponentGetState args) + private void OnGetState(EntityUid uid, IdCardConsoleComponent component, ref ComponentGetState args) { args.State = new IdCardConsoleComponentState(component.AccessLevels); } - private void OnComponentInit(EntityUid uid, SharedIdCardConsoleComponent component, ComponentInit args) + private void OnComponentInit(EntityUid uid, IdCardConsoleComponent component, ComponentInit args) { - _itemSlotsSystem.AddItemSlot(uid, SharedIdCardConsoleComponent.PrivilegedIdCardSlotId, component.PrivilegedIdSlot); - _itemSlotsSystem.AddItemSlot(uid, SharedIdCardConsoleComponent.TargetIdCardSlotId, component.TargetIdSlot); + _itemSlotsSystem.AddItemSlot(uid, IdCardConsoleComponent.PrivilegedIdCardSlotId, component.PrivilegedIdSlot); + _itemSlotsSystem.AddItemSlot(uid, IdCardConsoleComponent.TargetIdCardSlotId, component.TargetIdSlot); } - private void OnComponentRemove(EntityUid uid, SharedIdCardConsoleComponent component, ComponentRemove args) + private void OnComponentRemove(EntityUid uid, IdCardConsoleComponent component, ComponentRemove args) { _itemSlotsSystem.RemoveItemSlot(uid, component.PrivilegedIdSlot); _itemSlotsSystem.RemoveItemSlot(uid, component.TargetIdSlot);