Converted FireExtinguisherVisualizer to generic visualizer (#10058)
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ namespace Content.Server.Entry
|
||||
{
|
||||
public static class IgnoredComponents
|
||||
{
|
||||
public static string[] List => new [] {
|
||||
public static string[] List => new[] {
|
||||
"ConstructionGhost",
|
||||
"IconSmooth",
|
||||
"StasisBedVisuals",
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user