Files
crystall-punk-14/Content.Client/Cabinet/ItemCabinetSystem.cs

28 lines
762 B
C#
Raw Normal View History

using Content.Shared.Cabinet;
using Robust.Client.GameObjects;
namespace Content.Client.Cabinet;
2023-02-11 21:35:05 -05:00
public sealed class ItemCabinetSystem : SharedItemCabinetSystem
{
2023-02-11 21:35:05 -05:00
protected override void UpdateAppearance(EntityUid uid, ItemCabinetComponent? cabinet = null)
{
2023-02-11 21:35:05 -05:00
if (!Resolve(uid, ref cabinet))
return;
2023-02-11 21:35:05 -05:00
if (!TryComp<SpriteComponent>(uid, out var sprite))
return;
var state = cabinet.Opened ? cabinet.OpenState : cabinet.ClosedState;
if (state != null)
sprite.LayerSetState(ItemCabinetVisualLayers.Door, state);
sprite.LayerSetVisible(ItemCabinetVisualLayers.ContainsItem, cabinet.CabinetSlot.HasItem);
}
}
public enum ItemCabinetVisualLayers
{
Door,
ContainsItem
}