LockVisualizer (#25224)
* LockVisualizer * Fix state * Clean some code * Make it component, fix tests fail * Fix for StateUnlocked Now it is possible to manually set the unlocked state and it will work! * Optimize LockVisualizer, add check for unlocked state * No todo I guess
@@ -10,15 +10,11 @@
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Security/barrier.rsi
|
||||
layers:
|
||||
- state: "idle"
|
||||
map: ["deployableBarrierBase"]
|
||||
- state: idle
|
||||
- state: locked
|
||||
map: ["enum.LockVisualLayers.Lock"]
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.DeployableBarrierVisuals.State:
|
||||
deployableBarrierBase:
|
||||
enum.DeployableBarrierState.Idle: {state: "idle"}
|
||||
enum.DeployableBarrierState.Deployed: {state: "deployed"}
|
||||
- type: LockVisuals
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
bodyType: Dynamic
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
visible: false
|
||||
map: ["enum.WeldableLayers.BaseWelded"]
|
||||
- state: locked
|
||||
map: ["enum.StorageVisualLayers.Lock"]
|
||||
map: ["enum.LockVisualLayers.Lock"]
|
||||
shader: unshaded
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
@@ -73,6 +73,7 @@
|
||||
- type: EntityStorageVisuals
|
||||
stateDoorOpen: artifact_container_open
|
||||
stateDoorClosed: artifact_container_door
|
||||
- type: LockVisuals
|
||||
- type: ItemSlots
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
- state: locked
|
||||
shader: unshaded
|
||||
visible: false
|
||||
map: ["enum.StorageVisualLayers.Lock"]
|
||||
map: ["enum.LockVisualLayers.Lock"]
|
||||
- type: Transform
|
||||
noRot: false
|
||||
- type: Fixtures
|
||||
@@ -203,6 +203,7 @@
|
||||
enum.PowerDeviceVisualLayers.Powered:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
- type: LockVisuals
|
||||
- type: DeviceNetwork
|
||||
deviceNetId: Wireless
|
||||
receiveFrequencyId: BasicDevice
|
||||
|
||||
@@ -31,10 +31,10 @@
|
||||
shader: unshaded
|
||||
visible: false
|
||||
map: ["enum.EmitterVisualLayers.Lights"]
|
||||
- state: lock
|
||||
- state: locked
|
||||
shader: unshaded
|
||||
visible: false
|
||||
map: ["enum.StorageVisualLayers.Lock"]
|
||||
map: ["enum.LockVisualLayers.Lock"]
|
||||
- type: Emitter
|
||||
- type: Gun
|
||||
showExamineText: false
|
||||
@@ -83,6 +83,7 @@
|
||||
- type: Appearance
|
||||
- type: Lock
|
||||
locked: false
|
||||
- type: LockVisuals
|
||||
- type: AccessReader
|
||||
access: [[ "Engineering" ]]
|
||||
- type: Machine
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
tankInserted:
|
||||
False: { state: can-open, visible: false }
|
||||
True: { state: can-open, visible: true }
|
||||
enum.GasCanisterVisuals.Locked:
|
||||
enum.LockVisuals.Locked:
|
||||
locked:
|
||||
False: { state: can-unlocked, shader: "unshaded" }
|
||||
True: { state: can-locked, shader: "unshaded" }
|
||||
False: { state: unlocked, shader: "unshaded" }
|
||||
True: { state: locked, shader: "unshaded" }
|
||||
enum.GasCanisterVisuals.PressureState:
|
||||
pressureLight:
|
||||
0: { state: can-o0, shader: "unshaded" }
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
components:
|
||||
- type: AccessReader
|
||||
- type: Lock
|
||||
- type: LockVisuals
|
||||
- type: Sprite
|
||||
sprite: Structures/Storage/closet.rsi
|
||||
noRot: true
|
||||
@@ -14,7 +15,7 @@
|
||||
- state: generic_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
- state: locked
|
||||
map: ["enum.StorageVisualLayers.Lock"]
|
||||
map: ["enum.LockVisualLayers.Lock"]
|
||||
shader: unshaded
|
||||
- state: welded
|
||||
visible: false
|
||||
|
||||
@@ -180,6 +180,7 @@
|
||||
components:
|
||||
- type: AccessReader
|
||||
- type: Lock
|
||||
- type: LockVisuals
|
||||
- type: Sprite
|
||||
sprite: Structures/Storage/wall_locker.rsi
|
||||
layers:
|
||||
@@ -188,7 +189,7 @@
|
||||
- state: generic_door
|
||||
map: ["enum.StorageVisualLayers.Door"]
|
||||
- state: locked
|
||||
map: ["enum.StorageVisualLayers.Lock"]
|
||||
map: ["enum.LockVisualLayers.Lock"]
|
||||
shader: unshaded
|
||||
- state: welded
|
||||
visible: false
|
||||
@@ -222,7 +223,7 @@
|
||||
visible: false
|
||||
map: ["enum.WeldableLayers.BaseWelded"]
|
||||
- state: locked
|
||||
map: ["enum.StorageVisualLayers.Lock"]
|
||||
map: ["enum.LockVisualLayers.Lock"]
|
||||
shader: unshaded
|
||||
- type: MovedByPressure
|
||||
- type: DamageOnHighSpeedImpact
|
||||
@@ -282,7 +283,6 @@
|
||||
- type: Appearance
|
||||
- type: EntityStorageVisuals
|
||||
stateBase: base
|
||||
stateLocked: locked
|
||||
stateUnlocked: unlocked
|
||||
stateDoorOpen: base
|
||||
stateDoorClosed: door
|
||||
- type: LockVisuals
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
id: CrateBaseSecure
|
||||
components:
|
||||
- type: Lock
|
||||
- type: LockVisuals
|
||||
- type: AccessReader
|
||||
- type: Icon
|
||||
sprite: Structures/Storage/Crates/secure.rsi
|
||||
@@ -101,7 +102,7 @@
|
||||
visible: false
|
||||
map: ["enum.WeldableLayers.BaseWelded"]
|
||||
- state: locked
|
||||
map: ["enum.StorageVisualLayers.Lock"]
|
||||
map: ["enum.LockVisualLayers.Lock"]
|
||||
shader: unshaded
|
||||
- type: Damageable
|
||||
damageContainer: StructuralInorganic
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -11,7 +11,7 @@
|
||||
"name": "idle"
|
||||
},
|
||||
{
|
||||
"name": "deployed",
|
||||
"name": "locked",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 214 B |
@@ -34,7 +34,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "lock",
|
||||
"name": "locked",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
|
||||
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
@@ -23,10 +23,10 @@
|
||||
"name": "can-connector"
|
||||
},
|
||||
{
|
||||
"name": "can-locked"
|
||||
"name": "locked"
|
||||
},
|
||||
{
|
||||
"name": "can-unlocked"
|
||||
"name": "unlocked"
|
||||
},
|
||||
{
|
||||
"name": "can-o0",
|
||||
|
||||
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |