From c6c8fa20757cc8eabf3480e86116aa69e9f943f9 Mon Sep 17 00:00:00 2001 From: TemporalOroboros Date: Sun, 26 Mar 2023 12:26:00 -0700 Subject: [PATCH] Resolves MedicalScannerVisualizer is Obsolete (#13893) --- .../MedicalScanner/MedicalScannerComponent.cs | 9 ++- .../MedicalScannerVisualizer.cs | 61 ------------------- .../Medical/MedicalScannerSystem.cs | 15 ++--- .../Structures/Machines/medical_scanner.yml | 23 +++++-- 4 files changed, 31 insertions(+), 77 deletions(-) delete mode 100644 Content.Client/MedicalScanner/MedicalScannerVisualizer.cs diff --git a/Content.Client/MedicalScanner/MedicalScannerComponent.cs b/Content.Client/MedicalScanner/MedicalScannerComponent.cs index 1369544cd6..8ece8311b9 100644 --- a/Content.Client/MedicalScanner/MedicalScannerComponent.cs +++ b/Content.Client/MedicalScanner/MedicalScannerComponent.cs @@ -1,9 +1,8 @@ using Content.Shared.MedicalScanner; -namespace Content.Client.MedicalScanner +namespace Content.Client.MedicalScanner; + +[RegisterComponent] +public sealed class MedicalScannerComponent : SharedMedicalScannerComponent { - [RegisterComponent] - public sealed class MedicalScannerComponent : SharedMedicalScannerComponent - { - } } diff --git a/Content.Client/MedicalScanner/MedicalScannerVisualizer.cs b/Content.Client/MedicalScanner/MedicalScannerVisualizer.cs deleted file mode 100644 index db35447c26..0000000000 --- a/Content.Client/MedicalScanner/MedicalScannerVisualizer.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using JetBrains.Annotations; -using Robust.Client.GameObjects; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using static Content.Shared.MedicalScanner.SharedMedicalScannerComponent; -using static Content.Shared.MedicalScanner.SharedMedicalScannerComponent.MedicalScannerStatus; - -namespace Content.Client.MedicalScanner -{ - [UsedImplicitly] - public sealed class MedicalScannerVisualizer : AppearanceVisualizer - { - [Obsolete("Subscribe to AppearanceChangeEvent instead.")] - public override void OnChangeData(AppearanceComponent component) - { - base.OnChangeData(component); - - var sprite = IoCManager.Resolve().GetComponent(component.Owner); - if (!component.TryGetData(MedicalScannerVisuals.Status, out MedicalScannerStatus status)) return; - sprite.LayerSetState(MedicalScannerVisualLayers.Machine, StatusToMachineStateId(status)); - sprite.LayerSetState(MedicalScannerVisualLayers.Terminal, StatusToTerminalStateId(status)); - } - - private string StatusToMachineStateId(MedicalScannerStatus status) - { - switch (status) - { - case Off: return "closed"; - case Open: return "open"; - case Red: return "occupied"; - case Death: return "occupied"; - case Green: return "occupied"; - case Yellow: return "occupied"; - default: - throw new ArgumentOutOfRangeException(nameof(status), status, "unknown MedicalScannerStatus"); - } - } - - private string StatusToTerminalStateId(MedicalScannerStatus status) - { - switch (status) - { - case Off: return "off_unlit"; - case Open: return "idle_unlit"; - case Red: return "red_unlit"; - case Death: return "off_unlit"; - case Green: return "idle_unlit"; - case Yellow: return "maint_unlit"; - default: - throw new ArgumentOutOfRangeException(nameof(status), status, "unknown MedicalScannerStatus"); - } - } - - public enum MedicalScannerVisualLayers : byte - { - Machine, - Terminal, - } - } -} diff --git a/Content.Server/Medical/MedicalScannerSystem.cs b/Content.Server/Medical/MedicalScannerSystem.cs index d468cb0417..73230c3a52 100644 --- a/Content.Server/Medical/MedicalScannerSystem.cs +++ b/Content.Server/Medical/MedicalScannerSystem.cs @@ -167,8 +167,8 @@ namespace Content.Server.Medical return MedicalScannerStatus.Open; if (!TryComp(body.Value, out var state)) - { - return MedicalScannerStatus.Open; + { // Is not alive or dead or critical + return MedicalScannerStatus.Yellow; } return GetStatusFromDamageState(body.Value, state); @@ -213,13 +213,14 @@ namespace Content.Server.Medical _updateDif -= UpdateRate; - foreach (var scanner in EntityQuery()) + var query = EntityQueryEnumerator(); + while(query.MoveNext(out var uid, out var scanner)) { - UpdateAppearance(scanner.Owner, scanner); + UpdateAppearance(uid, scanner); } } - public void InsertBody(EntityUid uid, EntityUid user, MedicalScannerComponent? scannerComponent) + public void InsertBody(EntityUid uid, EntityUid to_insert, MedicalScannerComponent? scannerComponent) { if (!Resolve(uid, ref scannerComponent)) return; @@ -227,10 +228,10 @@ namespace Content.Server.Medical if (scannerComponent.BodyContainer.ContainedEntity != null) return; - if (!HasComp(user)) + if (!HasComp(to_insert)) return; - scannerComponent.BodyContainer.Insert(user); + scannerComponent.BodyContainer.Insert(to_insert); UpdateAppearance(uid, scannerComponent); } diff --git a/Resources/Prototypes/Entities/Structures/Machines/medical_scanner.yml b/Resources/Prototypes/Entities/Structures/Machines/medical_scanner.yml index f916a3b628..f47b392c71 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/medical_scanner.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/medical_scanner.yml @@ -14,9 +14,26 @@ snapCardinals: true layers: - state: open - map: ["enum.MedicalScannerVisualLayers.Machine"] + map: [machineLayer] - state: idle_unlit - map: ["enum.MedicalScannerVisualLayers.Terminal"] + map: [terminalLayer] + - type: GenericVisualizer + visuals: + enum.MedicalScannerVisuals.Status: + machineLayer: + Off: {state: "closed"} + Open: {state: "open"} + Red: {state: "occupied"} + Death: {state: "occupied"} + Green: {state: "occupied"} + Yellow: {state: "occupied"} + terminalLayer: + Off: {state: "off_unlit"} + Open: {state: "idle_unlit"} + Red: {state: "red_unlit"} + Death: {state: "off_unlit"} + Green: {state: "idle_unlit"} + Yellow: {state: "maint_unlit"} - type: Physics bodyType: Static - type: Fixtures @@ -62,8 +79,6 @@ BoardName: "MedicalScanner" LayoutId: MedicalScanner - type: Appearance - visuals: - - type: MedicalScannerVisualizer - type: Climbable - type: ApcPowerReceiver powerLoad: 200 #Receives most of its power from the console