make lathe visuals not required (#24757)

(cherry picked from commit bd46d7cc8a)
This commit is contained in:
Nemanja
2024-02-08 12:02:20 +01:00
committed by Debug
parent 55845b0537
commit 59b820aeff
2 changed files with 12 additions and 9 deletions
+8 -5
View 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);
}
}
+4 -4
View 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>