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
|
- type: entity
|
||||||
id: BodyBag_Container
|
id: BodyBag_Container
|
||||||
|
parent: BaseFoldable
|
||||||
name: body bag
|
name: body bag
|
||||||
description: A plastic bag designed for the storage and transportation of cadavers.
|
description: A plastic bag designed for the storage and transportation of cadavers.
|
||||||
components:
|
components:
|
||||||
@@ -11,7 +12,10 @@
|
|||||||
sprite: Objects/Specific/Medical/Morgue/bodybags.rsi
|
sprite: Objects/Specific/Medical/Morgue/bodybags.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: bag
|
- state: bag
|
||||||
map: ["enum.FoldableVisualLayers.Base"]
|
map: ["unfoldedLayer"]
|
||||||
|
- state: bag_folded
|
||||||
|
map: ["foldedLayer"]
|
||||||
|
visible: false
|
||||||
- state: open_overlay
|
- state: open_overlay
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- state: label_overlay
|
- state: label_overlay
|
||||||
@@ -45,7 +49,6 @@
|
|||||||
openSound:
|
openSound:
|
||||||
path: /Audio/Misc/zip.ogg
|
path: /Audio/Misc/zip.ogg
|
||||||
- type: EntityStorageLayingDownOverride
|
- type: EntityStorageLayingDownOverride
|
||||||
- type: Foldable
|
|
||||||
- type: PaperLabel
|
- type: PaperLabel
|
||||||
labelSlot:
|
labelSlot:
|
||||||
insertVerbText: Attach Label
|
insertVerbText: Attach Label
|
||||||
@@ -57,14 +60,19 @@
|
|||||||
visuals:
|
visuals:
|
||||||
- type: StorageVisualizer
|
- type: StorageVisualizer
|
||||||
state_open: open_overlay
|
state_open: open_overlay
|
||||||
- type: FoldableVisualizer
|
|
||||||
key: bag
|
|
||||||
- type: GenericVisualizer
|
- type: GenericVisualizer
|
||||||
visuals:
|
visuals:
|
||||||
enum.PaperLabelVisuals.HasLabel:
|
enum.PaperLabelVisuals.HasLabel:
|
||||||
enum.BodyBagVisualLayers.Label:
|
enum.BodyBagVisualLayers.Label:
|
||||||
True: {visible: true}
|
True: {visible: true}
|
||||||
False: {visible: false}
|
False: {visible: false}
|
||||||
|
enum.FoldedVisuals.State:
|
||||||
|
foldedLayer:
|
||||||
|
True: {visible: true}
|
||||||
|
False: {visible: false}
|
||||||
|
unfoldedLayer:
|
||||||
|
True: {visible: false}
|
||||||
|
False: {visible: true}
|
||||||
- type: Pullable
|
- type: Pullable
|
||||||
- type: AntiRottingContainer
|
- type: AntiRottingContainer
|
||||||
- type: ItemSlots
|
- type: ItemSlots
|
||||||
|
|||||||
@@ -220,7 +220,7 @@
|
|||||||
node: chairCursed
|
node: chairCursed
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: SeatBase
|
parent: [SeatBase, BaseFoldable]
|
||||||
id: ChairFolding
|
id: ChairFolding
|
||||||
name: folding chair
|
name: folding chair
|
||||||
description: If you carry six of these you become the coolest kid at church.
|
description: If you carry six of these you become the coolest kid at church.
|
||||||
@@ -230,14 +230,13 @@
|
|||||||
sprite: Structures/Furniture/folding_chair.rsi
|
sprite: Structures/Furniture/folding_chair.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: folding
|
- state: folding
|
||||||
map: ["enum.FoldableVisualLayers.Base"]
|
map: ["unfoldedLayer"]
|
||||||
|
- state: folding_folded
|
||||||
|
map: ["foldedLayer"]
|
||||||
|
visible: false
|
||||||
- type: Item
|
- type: Item
|
||||||
size: 50
|
size: 50
|
||||||
- type: Foldable
|
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: FoldableVisualizer
|
|
||||||
key: folding
|
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
id: RollerBed
|
id: RollerBed
|
||||||
parent: BaseItem
|
parent: [BaseItem, BaseFoldable]
|
||||||
name: rollerbed
|
name: rollerbed
|
||||||
description: Used to carry patients around without damaging them.
|
description: Used to carry patients around without damaging them.
|
||||||
components:
|
components:
|
||||||
@@ -14,7 +14,10 @@
|
|||||||
noRot: true
|
noRot: true
|
||||||
layers:
|
layers:
|
||||||
- state: rollerbed
|
- state: rollerbed
|
||||||
map: ["enum.FoldableVisualLayers.Base"]
|
map: ["unfoldedLayer"]
|
||||||
|
- state: rollerbed_folded
|
||||||
|
map: ["foldedLayer"]
|
||||||
|
visible: false
|
||||||
- type: MovedByPressure
|
- type: MovedByPressure
|
||||||
- type: DamageOnHighSpeedImpact
|
- type: DamageOnHighSpeedImpact
|
||||||
soundHit: /Audio/Effects/bang.ogg
|
soundHit: /Audio/Effects/bang.ogg
|
||||||
@@ -48,11 +51,8 @@
|
|||||||
rotation: -90
|
rotation: -90
|
||||||
buckleOffset: "0,0.15"
|
buckleOffset: "0,0.15"
|
||||||
unbuckleOffset: "0,0.15"
|
unbuckleOffset: "0,0.15"
|
||||||
- type: Foldable
|
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
visuals:
|
||||||
- type: FoldableVisualizer
|
|
||||||
key: rollerbed
|
|
||||||
- type: RollerbedVisualizer
|
- type: RollerbedVisualizer
|
||||||
key: rollerbed
|
key: rollerbed
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
@@ -75,11 +75,12 @@
|
|||||||
- type: Sprite
|
- type: Sprite
|
||||||
layers:
|
layers:
|
||||||
- state: cheap_rollerbed
|
- state: cheap_rollerbed
|
||||||
map: [ "enum.FoldableVisualLayers.Base" ]
|
map: ["unfoldedLayer"]
|
||||||
|
- state: cheap_rollerbed_folded
|
||||||
|
map: ["foldedLayer"]
|
||||||
|
visible: false
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
visuals:
|
||||||
- type: FoldableVisualizer
|
|
||||||
key: cheap_rollerbed
|
|
||||||
- type: RollerbedVisualizer
|
- type: RollerbedVisualizer
|
||||||
key: cheap_rollerbed
|
key: cheap_rollerbed
|
||||||
|
|
||||||
@@ -100,11 +101,12 @@
|
|||||||
- type: Sprite
|
- type: Sprite
|
||||||
layers:
|
layers:
|
||||||
- state: emergency_rollerbed
|
- state: emergency_rollerbed
|
||||||
map: [ "enum.FoldableVisualLayers.Base" ]
|
map: ["unfoldedLayer"]
|
||||||
|
- state: emergency_rollerbed_folded
|
||||||
|
map: ["foldedLayer"]
|
||||||
|
visible: false
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
visuals:
|
||||||
- type: FoldableVisualizer
|
|
||||||
key: emergency_rollerbed
|
|
||||||
- type: RollerbedVisualizer
|
- type: RollerbedVisualizer
|
||||||
key: emergency_rollerbed
|
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