Resolves FoldableVisualizer is Obsolete (#13913)
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
using Robust.Client.GameObjects;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Serialization.Manager.Attributes;
|
||||
using static Content.Shared.Foldable.SharedFoldableSystem;
|
||||
|
||||
namespace Content.Client.Visualizer;
|
||||
|
||||
|
||||
public sealed class FoldableVisualizer : 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(FoldedVisuals.State, out bool folded) && folded)
|
||||
{
|
||||
sprite.LayerSetState(FoldableVisualLayers.Base, $"{_key}_folded");
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite.LayerSetState(FoldableVisualLayers.Base, $"{_key}");
|
||||
}
|
||||
}
|
||||
|
||||
public enum FoldableVisualLayers : byte
|
||||
{
|
||||
Base,
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
- type: entity
|
||||
id: BodyBag_Container
|
||||
parent: BaseFoldable
|
||||
name: body bag
|
||||
description: A plastic bag designed for the storage and transportation of cadavers.
|
||||
components:
|
||||
@@ -11,7 +12,10 @@
|
||||
sprite: Objects/Specific/Medical/Morgue/bodybags.rsi
|
||||
layers:
|
||||
- state: bag
|
||||
map: ["enum.FoldableVisualLayers.Base"]
|
||||
map: ["unfoldedLayer"]
|
||||
- state: bag_folded
|
||||
map: ["foldedLayer"]
|
||||
visible: false
|
||||
- state: open_overlay
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
- state: label_overlay
|
||||
@@ -45,7 +49,6 @@
|
||||
openSound:
|
||||
path: /Audio/Misc/zip.ogg
|
||||
- type: EntityStorageLayingDownOverride
|
||||
- type: Foldable
|
||||
- type: PaperLabel
|
||||
labelSlot:
|
||||
insertVerbText: Attach Label
|
||||
@@ -57,14 +60,19 @@
|
||||
visuals:
|
||||
- type: StorageVisualizer
|
||||
state_open: open_overlay
|
||||
- type: FoldableVisualizer
|
||||
key: bag
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.PaperLabelVisuals.HasLabel:
|
||||
enum.BodyBagVisualLayers.Label:
|
||||
True: {visible: true}
|
||||
False: {visible: false}
|
||||
enum.FoldedVisuals.State:
|
||||
foldedLayer:
|
||||
True: {visible: true}
|
||||
False: {visible: false}
|
||||
unfoldedLayer:
|
||||
True: {visible: false}
|
||||
False: {visible: true}
|
||||
- type: Pullable
|
||||
- type: AntiRottingContainer
|
||||
- type: ItemSlots
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
node: chairCursed
|
||||
|
||||
- type: entity
|
||||
parent: SeatBase
|
||||
parent: [SeatBase, BaseFoldable]
|
||||
id: ChairFolding
|
||||
name: folding chair
|
||||
description: If you carry six of these you become the coolest kid at church.
|
||||
@@ -230,14 +230,13 @@
|
||||
sprite: Structures/Furniture/folding_chair.rsi
|
||||
layers:
|
||||
- state: folding
|
||||
map: ["enum.FoldableVisualLayers.Base"]
|
||||
map: ["unfoldedLayer"]
|
||||
- state: folding_folded
|
||||
map: ["foldedLayer"]
|
||||
visible: false
|
||||
- type: Item
|
||||
size: 50
|
||||
- type: Foldable
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: FoldableVisualizer
|
||||
key: folding
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
- type: entity
|
||||
id: RollerBed
|
||||
parent: BaseItem
|
||||
parent: [BaseItem, BaseFoldable]
|
||||
name: rollerbed
|
||||
description: Used to carry patients around without damaging them.
|
||||
components:
|
||||
@@ -14,7 +14,10 @@
|
||||
noRot: true
|
||||
layers:
|
||||
- state: rollerbed
|
||||
map: ["enum.FoldableVisualLayers.Base"]
|
||||
map: ["unfoldedLayer"]
|
||||
- state: rollerbed_folded
|
||||
map: ["foldedLayer"]
|
||||
visible: false
|
||||
- type: MovedByPressure
|
||||
- type: DamageOnHighSpeedImpact
|
||||
soundHit: /Audio/Effects/bang.ogg
|
||||
@@ -48,11 +51,8 @@
|
||||
rotation: -90
|
||||
buckleOffset: "0,0.15"
|
||||
unbuckleOffset: "0,0.15"
|
||||
- type: Foldable
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: FoldableVisualizer
|
||||
key: rollerbed
|
||||
- type: RollerbedVisualizer
|
||||
key: rollerbed
|
||||
- type: StaticPrice
|
||||
@@ -75,11 +75,12 @@
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: cheap_rollerbed
|
||||
map: [ "enum.FoldableVisualLayers.Base" ]
|
||||
map: ["unfoldedLayer"]
|
||||
- state: cheap_rollerbed_folded
|
||||
map: ["foldedLayer"]
|
||||
visible: false
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: FoldableVisualizer
|
||||
key: cheap_rollerbed
|
||||
- type: RollerbedVisualizer
|
||||
key: cheap_rollerbed
|
||||
|
||||
@@ -100,11 +101,12 @@
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: emergency_rollerbed
|
||||
map: [ "enum.FoldableVisualLayers.Base" ]
|
||||
map: ["unfoldedLayer"]
|
||||
- state: emergency_rollerbed_folded
|
||||
map: ["foldedLayer"]
|
||||
visible: false
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: FoldableVisualizer
|
||||
key: emergency_rollerbed
|
||||
- type: RollerbedVisualizer
|
||||
key: emergency_rollerbed
|
||||
|
||||
|
||||
15
Resources/Prototypes/Entities/foldable.yml
Normal file
15
Resources/Prototypes/Entities/foldable.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
- type: entity
|
||||
id: BaseFoldable
|
||||
name: "foldable"
|
||||
abstract: true
|
||||
components:
|
||||
- type: Foldable
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.FoldedVisuals.State:
|
||||
foldedLayer:
|
||||
True: {visible: true}
|
||||
False: {visible: false}
|
||||
unfoldedLayer:
|
||||
True: {visible: false}
|
||||
False: {visible: true}
|
||||
Reference in New Issue
Block a user