using Content.Shared.Dice; using Robust.Client.GameObjects; namespace Content.Client.Dice; public sealed partial class DiceSystem : SharedDiceSystem { [Dependency] private SpriteSystem _sprite = default!; [SubscribeLocalEvent] private void OnDiceAfterHandleState(Entity entity, ref AfterAutoHandleStateEvent args) { if (!TryComp(entity, out var sprite)) return; // TODO maybe just move each die to its own RSI? // If this is ever done keep in mind coin flips also use this system var state = _sprite.LayerGetRsiState((entity.Owner, sprite), 0).Name; if (state == null) return; var prefix = state.Substring(0, state.IndexOf('_')); _sprite.LayerSetRsiState((entity.Owner, sprite), 0, $"{prefix}_{entity.Comp.CurrentValue}"); } }