From: TemporalOroboros Date: Fri, 10 Feb 2023 22:05:22 +0000 (-0800) Subject: Resolves RollerbedVisualizer is Obsolete (#13915) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=57275d97d3961e45367afafe08e6f94ef0e45320;p=space-station-14.git Resolves RollerbedVisualizer is Obsolete (#13915) * Split RollerbedVisualizer into Component/System pair * Server ignore RollerbedVisualizer * Update YAML * GenericVisualizer * Switch to unfolded layer * Use visibility --- diff --git a/Content.Client/Visualizer/RollerbedVisualizer.cs b/Content.Client/Visualizer/RollerbedVisualizer.cs deleted file mode 100644 index 43783a2e4f..0000000000 --- a/Content.Client/Visualizer/RollerbedVisualizer.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Content.Shared.Buckle.Components; -using JetBrains.Annotations; -using Robust.Client.GameObjects; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Serialization.Manager.Attributes; - -namespace Content.Client.Visualizer -{ - [UsedImplicitly] - public sealed class RollerbedVisualizer : AppearanceVisualizer - { - [DataField("key")] - private string _key = default!; - - [Obsolete("Subscribe to AppearanceChangeEvent instead.")] - public override void OnChangeData(AppearanceComponent appearance) - { - base.OnChangeData(appearance); - - var entManager = IoCManager.Resolve(); - - if (!entManager.TryGetComponent(appearance.Owner, out SpriteComponent? sprite)) return; - - if (appearance.TryGetData(StrapVisuals.State, out bool strapped) && strapped) - { - sprite.LayerSetState(0, $"{_key}_buckled"); - } - } - } -} diff --git a/Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml b/Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml index 72d745ebca..7c09357237 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml @@ -18,6 +18,9 @@ - state: rollerbed_folded map: ["foldedLayer"] visible: false + - state: rollerbed_buckled + map: ["buckledLayer"] + visible: false - type: MovedByPressure - type: DamageOnHighSpeedImpact soundHit: /Audio/Effects/bang.ogg @@ -52,9 +55,19 @@ buckleOffset: "0,0.15" unbuckleOffset: "0,0.15" - type: Appearance + - type: GenericVisualizer visuals: - - type: RollerbedVisualizer - key: rollerbed + enum.StrapVisuals.State: + buckledLayer: + True: {visible: true} + False: {visible: false} + enum.FoldedVisuals.State: # Copypasta from BaseFoldable b/c collections don't merge when overriding component prototypes. + foldedLayer: + True: {visible: true} + False: {visible: false} + unfoldedLayer: + True: {visible: false} + False: {visible: true} - type: StaticPrice price: 200 @@ -79,10 +92,10 @@ - state: cheap_rollerbed_folded map: ["foldedLayer"] visible: false + - state: cheap_rollerbed_buckled + map: ["buckledLayer"] + visible: false - type: Appearance - visuals: - - type: RollerbedVisualizer - key: cheap_rollerbed - type: entity parent: CheapRollerBed @@ -105,10 +118,10 @@ - state: emergency_rollerbed_folded map: ["foldedLayer"] visible: false + - state: emergency_rollerbed_buckled + map: ["buckledLayer"] + visible: false - type: Appearance - visuals: - - type: RollerbedVisualizer - key: emergency_rollerbed - type: entity parent: EmergencyRollerBed