Rollerbeds (#5681)
This commit is contained in:
@@ -10,6 +10,9 @@ namespace Content.Client.Storage.Visualizers
|
||||
[UsedImplicitly]
|
||||
public sealed class StorageVisualizer : AppearanceVisualizer
|
||||
{
|
||||
/// <summary>
|
||||
/// Sets the base sprite to this layer. Exists to make the inheritance tree less boilerplate-y.
|
||||
/// </summary>
|
||||
[DataField("state")]
|
||||
private string? _stateBase;
|
||||
[DataField("state_open")]
|
||||
@@ -41,9 +44,24 @@ namespace Content.Client.Storage.Visualizers
|
||||
}
|
||||
|
||||
component.TryGetData(StorageVisuals.Open, out bool open);
|
||||
var state = open ? _stateOpen ?? $"{_stateBase}_open" : _stateClosed ?? $"{_stateBase}_door";
|
||||
|
||||
sprite.LayerSetState(StorageVisualLayers.Door, state);
|
||||
if (sprite.LayerMapTryGet(StorageVisualLayers.Door, out _))
|
||||
{
|
||||
sprite.LayerSetVisible(StorageVisualLayers.Door, true);
|
||||
|
||||
if (open && _stateOpen != null)
|
||||
{
|
||||
sprite.LayerSetState(StorageVisualLayers.Door, _stateOpen);
|
||||
}
|
||||
else if (!open && _stateClosed != null)
|
||||
{
|
||||
sprite.LayerSetState(StorageVisualLayers.Door, _stateClosed);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite.LayerSetVisible(StorageVisualLayers.Door, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (component.TryGetData(StorageVisuals.CanLock, out bool canLock) && canLock)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user