]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
make lathe visuals not required (#24757)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Wed, 31 Jan 2024 02:50:40 +0000 (21:50 -0500)
committerGitHub <noreply@github.com>
Wed, 31 Jan 2024 02:50:40 +0000 (13:50 +1100)
Content.Client/Lathe/LatheSystem.cs
Content.Shared/Lathe/LatheComponent.cs

index c0c3833a85509e58c63fb238fa4fad9174f21e7d..c72f01b39b149cdb3309ea48c9e744a7c83f88d6 100644 (file)
@@ -23,17 +23,20 @@ public sealed class LatheSystem : SharedLatheSystem
             return;
 
         if (_appearance.TryGetData<bool>(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<bool>(uid, LatheVisuals.IsRunning, out var isRunning, args.Component))
+        if (_appearance.TryGetData<bool>(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);
         }
     }
 
index e1110777dc026e153af042808194170b95695ef8..d4bf18b0507d9d1f40bb722a5dd961f14d6cd180 100644 (file)
@@ -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
 
         /// <summary>