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 ///