make lathe visuals not required (#24757)

This commit is contained in:
Nemanja
2024-01-30 21:50:40 -05:00
committed by GitHub
parent 83901cafc5
commit bd46d7cc8a
2 changed files with 12 additions and 9 deletions

View File

@@ -23,17 +23,20 @@ public sealed class LatheSystem : SharedLatheSystem
return; return;
if (_appearance.TryGetData<bool>(uid, PowerDeviceVisuals.Powered, out var powered, args.Component) && 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 // 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; var state = isRunning ? component.RunningState : component.IdleState;
args.Sprite.LayerSetAnimationTime(LatheVisualLayers.IsRunning, 0f); args.Sprite.LayerSetAnimationTime(runningLayer, 0f);
args.Sprite.LayerSetState(LatheVisualLayers.IsRunning, state); args.Sprite.LayerSetState(runningLayer, state);
} }
} }

View File

@@ -34,11 +34,11 @@ namespace Content.Shared.Lathe
public SoundSpecifier? ProducingSound; public SoundSpecifier? ProducingSound;
#region Visualizer info #region Visualizer info
[DataField(required: true)] [DataField]
public string IdleState = default!; public string? IdleState;
[DataField(required: true)] [DataField]
public string RunningState = default!; public string? RunningState;
#endregion #endregion
/// <summary> /// <summary>