Converted FireExtinguisherVisualizer to generic visualizer (#10058)

This commit is contained in:
ModeratelyAware
2022-07-26 17:40:13 -07:00
committed by GitHub
parent 9c0d39f25e
commit 3e28b7f236
3 changed files with 7 additions and 45 deletions

View File

@@ -1,40 +0,0 @@
using Content.Shared.Extinguisher;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Extinguisher
{
[UsedImplicitly]
public sealed class FireExtinguisherVisualizer : AppearanceVisualizer
{
[DataField("safety_on_state")]
private string? _safetyOnState;
[DataField("safety_off_state")]
private string? _safetyOffState;
public override void OnChangeData(AppearanceComponent component)
{
base.OnChangeData(component);
if (component.TryGetData<bool>(FireExtinguisherVisuals.Safety, out var safety))
{
SetSafety(component, safety);
}
}
private void SetSafety(AppearanceComponent component, bool safety)
{
var sprite = IoCManager.Resolve<IEntityManager>().GetComponent<ISpriteComponent>(component.Owner);
sprite.LayerSetState(FireExtinguisherVisualLayers.Base, safety ? _safetyOnState : _safetyOffState);
}
}
public enum FireExtinguisherVisualLayers : byte
{
Base
}
}

View File

@@ -9,7 +9,7 @@
sprite: Objects/Misc/fire_extinguisher.rsi
layers:
- state: fire_extinguisher_closed
map: [ "enum.FireExtinguisherVisualLayers.Base" ]
map: [ "enabled" ]
- type: Item
sprite: Objects/Misc/fire_extinguisher.rsi
size: 10
@@ -44,10 +44,12 @@
hitSound:
path: /Audio/Weapons/smash.ogg
- type: Appearance
- type: GenericVisualizer
visuals:
- type: FireExtinguisherVisualizer
safety_on_state: fire_extinguisher_closed
safety_off_state: fire_extinguisher_open
enum.FireExtinguisherVisuals.Safety:
enabled:
True: { state: fire_extinguisher_closed }
False: { state: fire_extinguisher_open }
- type: entity
name: extinguisher spray