using Content.Client.Items.UI; using Content.Client.Message; using Content.Client.Stylesheets; using Content.Client.Trigger.Systems; using Content.Shared.Trigger.Components; using Robust.Client.UserInterface.Controls; namespace Content.Client.Trigger.UI; /// /// Displays timer delay information for from predicted client state. /// /// public sealed partial class TimerTriggerStatusControl : PollingItemStatusControl { private readonly Entity _parent; private readonly RichTextLabel _label; public TimerTriggerStatusControl( Entity parent) { _parent = parent; _label = new RichTextLabel { StyleClasses = { StyleClass.ItemStatus } }; AddChild(_label); } protected override Data PollData() { return new Data(_parent.Comp.Delay); } protected override void Update(in Data data) { var markup = _parent.Comp.Examinable ? Loc.GetString("timer-trigger-status-delay", ("delay", data.Delay.TotalSeconds.ToString("F2"))) : Loc.GetString("timer-trigger-status-delay-unknown"); _label.SetMarkup(markup); } public readonly record struct Data(TimeSpan Delay); }