From bd46d7cc8ab6ad92a4d5a7cdd12dd1ce8f6265e9 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Tue, 30 Jan 2024 21:50:40 -0500 Subject: [PATCH] make lathe visuals not required (#24757) --- Content.Client/Lathe/LatheSystem.cs | 13 ++++++++----- Content.Shared/Lathe/LatheComponent.cs | 8 ++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Content.Client/Lathe/LatheSystem.cs b/Content.Client/Lathe/LatheSystem.cs index c0c3833a85..c72f01b39b 100644 --- a/Content.Client/Lathe/LatheSystem.cs +++ b/Content.Client/Lathe/LatheSystem.cs @@ -23,17 +23,20 @@ public sealed class LatheSystem : SharedLatheSystem return; if (_appearance.TryGetData(uid, PowerDeviceVisuals.Powered, out var powered, args.Component) && - args.Sprite.LayerMapTryGet(PowerDeviceVisualLayers.Powered, out _)) + args.Sprite.LayerMapTryGet(PowerDeviceVisualLayers.Powered, out var powerLayer)) { - args.Sprite.LayerSetVisible(PowerDeviceVisualLayers.Powered, powered); + args.Sprite.LayerSetVisible(powerLayer, powered); } // Lathe specific stuff - if (_appearance.TryGetData(uid, LatheVisuals.IsRunning, out var isRunning, args.Component)) + if (_appearance.TryGetData(uid, LatheVisuals.IsRunning, out var isRunning, args.Component) && + args.Sprite.LayerMapTryGet(LatheVisualLayers.IsRunning, out var runningLayer) && + component.RunningState != null && + component.IdleState != null) { var state = isRunning ? component.RunningState : component.IdleState; - args.Sprite.LayerSetAnimationTime(LatheVisualLayers.IsRunning, 0f); - args.Sprite.LayerSetState(LatheVisualLayers.IsRunning, state); + args.Sprite.LayerSetAnimationTime(runningLayer, 0f); + args.Sprite.LayerSetState(runningLayer, state); } } diff --git a/Content.Shared/Lathe/LatheComponent.cs b/Content.Shared/Lathe/LatheComponent.cs index e1110777dc..d4bf18b050 100644 --- a/Content.Shared/Lathe/LatheComponent.cs +++ b/Content.Shared/Lathe/LatheComponent.cs @@ -34,11 +34,11 @@ namespace Content.Shared.Lathe public SoundSpecifier? ProducingSound; #region Visualizer info - [DataField(required: true)] - public string IdleState = default!; + [DataField] + public string? IdleState; - [DataField(required: true)] - public string RunningState = default!; + [DataField] + public string? RunningState; #endregion ///