Cleanup warnings in FireVisualizerSystem (#37417)
Cleanup warnings in FireVisualizerSystem
This commit is contained in:
@@ -2,6 +2,7 @@ using Content.Client.Atmos.Components;
|
|||||||
using Content.Shared.Atmos;
|
using Content.Shared.Atmos;
|
||||||
using Robust.Client.GameObjects;
|
using Robust.Client.GameObjects;
|
||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.Client.Atmos.EntitySystems;
|
namespace Content.Client.Atmos.EntitySystems;
|
||||||
|
|
||||||
@@ -10,6 +11,7 @@ namespace Content.Client.Atmos.EntitySystems;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent>
|
public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent>
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly SpriteSystem _sprite = default!;
|
||||||
[Dependency] private readonly PointLightSystem _lights = default!;
|
[Dependency] private readonly PointLightSystem _lights = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
@@ -31,9 +33,9 @@ public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent
|
|||||||
// Need LayerMapTryGet because Init fails if there's no existing sprite / appearancecomp
|
// Need LayerMapTryGet because Init fails if there's no existing sprite / appearancecomp
|
||||||
// which means in some setups (most frequently no AppearanceComp) the layer never exists.
|
// which means in some setups (most frequently no AppearanceComp) the layer never exists.
|
||||||
if (TryComp<SpriteComponent>(uid, out var sprite) &&
|
if (TryComp<SpriteComponent>(uid, out var sprite) &&
|
||||||
sprite.LayerMapTryGet(FireVisualLayers.Fire, out var layer))
|
_sprite.LayerMapTryGet((uid, sprite), FireVisualLayers.Fire, out var layer, false))
|
||||||
{
|
{
|
||||||
sprite.RemoveLayer(layer);
|
_sprite.RemoveLayer((uid, sprite), layer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,11 +44,11 @@ public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent
|
|||||||
if (!TryComp<SpriteComponent>(uid, out var sprite) || !TryComp(uid, out AppearanceComponent? appearance))
|
if (!TryComp<SpriteComponent>(uid, out var sprite) || !TryComp(uid, out AppearanceComponent? appearance))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sprite.LayerMapReserveBlank(FireVisualLayers.Fire);
|
_sprite.LayerMapReserve((uid, sprite), FireVisualLayers.Fire);
|
||||||
sprite.LayerSetVisible(FireVisualLayers.Fire, false);
|
_sprite.LayerSetVisible((uid, sprite), FireVisualLayers.Fire, false);
|
||||||
sprite.LayerSetShader(FireVisualLayers.Fire, "unshaded");
|
sprite.LayerSetShader(FireVisualLayers.Fire, "unshaded");
|
||||||
if (component.Sprite != null)
|
if (component.Sprite != null)
|
||||||
sprite.LayerSetRSI(FireVisualLayers.Fire, component.Sprite);
|
_sprite.LayerSetRsi((uid, sprite), FireVisualLayers.Fire, new ResPath(component.Sprite));
|
||||||
|
|
||||||
UpdateAppearance(uid, component, sprite, appearance);
|
UpdateAppearance(uid, component, sprite, appearance);
|
||||||
}
|
}
|
||||||
@@ -59,12 +61,12 @@ public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent
|
|||||||
|
|
||||||
private void UpdateAppearance(EntityUid uid, FireVisualsComponent component, SpriteComponent sprite, AppearanceComponent appearance)
|
private void UpdateAppearance(EntityUid uid, FireVisualsComponent component, SpriteComponent sprite, AppearanceComponent appearance)
|
||||||
{
|
{
|
||||||
if (!sprite.LayerMapTryGet(FireVisualLayers.Fire, out var index))
|
if (!_sprite.LayerMapTryGet((uid, sprite), FireVisualLayers.Fire, out var index, false))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
AppearanceSystem.TryGetData<bool>(uid, FireVisuals.OnFire, out var onFire, appearance);
|
AppearanceSystem.TryGetData<bool>(uid, FireVisuals.OnFire, out var onFire, appearance);
|
||||||
AppearanceSystem.TryGetData<float>(uid, FireVisuals.FireStacks, out var fireStacks, appearance);
|
AppearanceSystem.TryGetData<float>(uid, FireVisuals.FireStacks, out var fireStacks, appearance);
|
||||||
sprite.LayerSetVisible(index, onFire);
|
_sprite.LayerSetVisible((uid, sprite), index, onFire);
|
||||||
|
|
||||||
if (!onFire)
|
if (!onFire)
|
||||||
{
|
{
|
||||||
@@ -78,9 +80,9 @@ public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (fireStacks > component.FireStackAlternateState && !string.IsNullOrEmpty(component.AlternateState))
|
if (fireStacks > component.FireStackAlternateState && !string.IsNullOrEmpty(component.AlternateState))
|
||||||
sprite.LayerSetState(index, component.AlternateState);
|
_sprite.LayerSetRsiState((uid, sprite), index, component.AlternateState);
|
||||||
else
|
else
|
||||||
sprite.LayerSetState(index, component.NormalState);
|
_sprite.LayerSetRsiState((uid, sprite), index, component.NormalState);
|
||||||
|
|
||||||
component.LightEntity ??= Spawn(null, new EntityCoordinates(uid, default));
|
component.LightEntity ??= Spawn(null, new EntityCoordinates(uid, default));
|
||||||
var light = EnsureComp<PointLightComponent>(component.LightEntity.Value);
|
var light = EnsureComp<PointLightComponent>(component.LightEntity.Value);
|
||||||
|
|||||||
Reference in New Issue
Block a user