Resolves MedicalScannerVisualizer is Obsolete (#13893)

This commit is contained in:
TemporalOroboros
2023-03-26 12:26:00 -07:00
committed by GitHub
parent edeb6c0e5a
commit c6c8fa2075
4 changed files with 31 additions and 77 deletions

View File

@@ -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
{
}
}

View File

@@ -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<IEntityManager>().GetComponent<SpriteComponent>(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,
}
}
}