+++ /dev/null
-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");
- }
- }
- }
-}
- 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