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

@@ -3,7 +3,7 @@ namespace Content.Server.Entry
{ {
public static class IgnoredComponents public static class IgnoredComponents
{ {
public static string[] List => new [] { public static string[] List => new[] {
"ConstructionGhost", "ConstructionGhost",
"IconSmooth", "IconSmooth",
"StasisBedVisuals", "StasisBedVisuals",

View File

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