]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Resolves RollerbedVisualizer is Obsolete (#13915)
authorTemporalOroboros <TemporalOroboros@gmail.com>
Fri, 10 Feb 2023 22:05:22 +0000 (14:05 -0800)
committerGitHub <noreply@github.com>
Fri, 10 Feb 2023 22:05:22 +0000 (22:05 +0000)
* Split RollerbedVisualizer into Component/System pair

* Server ignore RollerbedVisualizer

* Update YAML

* GenericVisualizer

* Switch to unfolded layer

* Use visibility

Content.Client/Visualizer/RollerbedVisualizer.cs [deleted file]
Resources/Prototypes/Entities/Structures/Furniture/rollerbeds.yml

diff --git a/Content.Client/Visualizer/RollerbedVisualizer.cs b/Content.Client/Visualizer/RollerbedVisualizer.cs
deleted file mode 100644 (file)
index 43783a2..0000000
+++ /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<IEntityManager>();
-
-            if (!entManager.TryGetComponent(appearance.Owner, out SpriteComponent? sprite)) return;
-
-            if (appearance.TryGetData(StrapVisuals.State, out bool strapped) && strapped)
-            {
-                sprite.LayerSetState(0, $"{_key}_buckled");
-            }
-        }
-    }
-}
index 72d745ebca5aa59b9727314700cc94e0ac306a49..7c093572375c7fb6afa682c3c1614a239fb9be30 100644 (file)
@@ -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
       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
 
     - 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
     - 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