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 class IgnoredComponents
|
||||||
{
|
{
|
||||||
public static string[] List => new [] {
|
public static string[] List => new[] {
|
||||||
"ConstructionGhost",
|
"ConstructionGhost",
|
||||||
"IconSmooth",
|
"IconSmooth",
|
||||||
"StasisBedVisuals",
|
"StasisBedVisuals",
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user