Cleanup warnings in VendingMachineSystem (#37454)

Cleanup warnings in VendingMachineSystem
This commit is contained in:
Tayrtahn
2025-05-14 16:18:36 -04:00
committed by GitHub
parent fa3afa4ce0
commit 1d04194767

View File

@@ -10,6 +10,7 @@ public sealed class VendingMachineSystem : SharedVendingMachineSystem
{ {
[Dependency] private readonly AnimationPlayerSystem _animationPlayer = default!; [Dependency] private readonly AnimationPlayerSystem _animationPlayer = default!;
[Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize() public override void Initialize()
{ {
@@ -113,48 +114,48 @@ public sealed class VendingMachineSystem : SharedVendingMachineSystem
private void UpdateAppearance(EntityUid uid, VendingMachineVisualState visualState, VendingMachineComponent component, SpriteComponent sprite) private void UpdateAppearance(EntityUid uid, VendingMachineVisualState visualState, VendingMachineComponent component, SpriteComponent sprite)
{ {
SetLayerState(VendingMachineVisualLayers.Base, component.OffState, sprite); SetLayerState(VendingMachineVisualLayers.Base, component.OffState, (uid, sprite));
switch (visualState) switch (visualState)
{ {
case VendingMachineVisualState.Normal: case VendingMachineVisualState.Normal:
SetLayerState(VendingMachineVisualLayers.BaseUnshaded, component.NormalState, sprite); SetLayerState(VendingMachineVisualLayers.BaseUnshaded, component.NormalState, (uid, sprite));
SetLayerState(VendingMachineVisualLayers.Screen, component.ScreenState, sprite); SetLayerState(VendingMachineVisualLayers.Screen, component.ScreenState, (uid, sprite));
break; break;
case VendingMachineVisualState.Deny: case VendingMachineVisualState.Deny:
if (component.LoopDenyAnimation) if (component.LoopDenyAnimation)
SetLayerState(VendingMachineVisualLayers.BaseUnshaded, component.DenyState, sprite); SetLayerState(VendingMachineVisualLayers.BaseUnshaded, component.DenyState, (uid, sprite));
else else
PlayAnimation(uid, VendingMachineVisualLayers.BaseUnshaded, component.DenyState, (float)component.DenyDelay.TotalSeconds, sprite); PlayAnimation(uid, VendingMachineVisualLayers.BaseUnshaded, component.DenyState, (float)component.DenyDelay.TotalSeconds, sprite);
SetLayerState(VendingMachineVisualLayers.Screen, component.ScreenState, sprite); SetLayerState(VendingMachineVisualLayers.Screen, component.ScreenState, (uid, sprite));
break; break;
case VendingMachineVisualState.Eject: case VendingMachineVisualState.Eject:
PlayAnimation(uid, VendingMachineVisualLayers.BaseUnshaded, component.EjectState, (float)component.EjectDelay.TotalSeconds, sprite); PlayAnimation(uid, VendingMachineVisualLayers.BaseUnshaded, component.EjectState, (float)component.EjectDelay.TotalSeconds, sprite);
SetLayerState(VendingMachineVisualLayers.Screen, component.ScreenState, sprite); SetLayerState(VendingMachineVisualLayers.Screen, component.ScreenState, (uid, sprite));
break; break;
case VendingMachineVisualState.Broken: case VendingMachineVisualState.Broken:
HideLayers(sprite); HideLayers((uid, sprite));
SetLayerState(VendingMachineVisualLayers.Base, component.BrokenState, sprite); SetLayerState(VendingMachineVisualLayers.Base, component.BrokenState, (uid, sprite));
break; break;
case VendingMachineVisualState.Off: case VendingMachineVisualState.Off:
HideLayers(sprite); HideLayers((uid, sprite));
break; break;
} }
} }
private static void SetLayerState(VendingMachineVisualLayers layer, string? state, SpriteComponent sprite) private void SetLayerState(VendingMachineVisualLayers layer, string? state, Entity<SpriteComponent> sprite)
{ {
if (string.IsNullOrEmpty(state)) if (string.IsNullOrEmpty(state))
return; return;
sprite.LayerSetVisible(layer, true); _sprite.LayerSetVisible(sprite.AsNullable(), layer, true);
sprite.LayerSetAutoAnimated(layer, true); _sprite.LayerSetAutoAnimated(sprite.AsNullable(), layer, true);
sprite.LayerSetState(layer, state); _sprite.LayerSetRsiState(sprite.AsNullable(), layer, state);
} }
private void PlayAnimation(EntityUid uid, VendingMachineVisualLayers layer, string? state, float animationTime, SpriteComponent sprite) private void PlayAnimation(EntityUid uid, VendingMachineVisualLayers layer, string? state, float animationTime, SpriteComponent sprite)
@@ -165,7 +166,7 @@ public sealed class VendingMachineSystem : SharedVendingMachineSystem
if (!_animationPlayer.HasRunningAnimation(uid, state)) if (!_animationPlayer.HasRunningAnimation(uid, state))
{ {
var animation = GetAnimation(layer, state, animationTime); var animation = GetAnimation(layer, state, animationTime);
sprite.LayerSetVisible(layer, true); _sprite.LayerSetVisible((uid, sprite), layer, true);
_animationPlayer.Play(uid, animation, state); _animationPlayer.Play(uid, animation, state);
} }
} }
@@ -189,17 +190,17 @@ public sealed class VendingMachineSystem : SharedVendingMachineSystem
}; };
} }
private static void HideLayers(SpriteComponent sprite) private void HideLayers(Entity<SpriteComponent> sprite)
{ {
HideLayer(VendingMachineVisualLayers.BaseUnshaded, sprite); HideLayer(VendingMachineVisualLayers.BaseUnshaded, sprite);
HideLayer(VendingMachineVisualLayers.Screen, sprite); HideLayer(VendingMachineVisualLayers.Screen, sprite);
} }
private static void HideLayer(VendingMachineVisualLayers layer, SpriteComponent sprite) private void HideLayer(VendingMachineVisualLayers layer, Entity<SpriteComponent> sprite)
{ {
if (!sprite.LayerMapTryGet(layer, out var actualLayer)) if (!_sprite.LayerMapTryGet(sprite.AsNullable(), layer, out var actualLayer, false))
return; return;
sprite.LayerSetVisible(actualLayer, false); _sprite.LayerSetVisible(sprite.AsNullable(), actualLayer, false);
} }
} }