MultipleToolComponent.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Content.Client.Message;
  2. using Content.Client.Stylesheets;
  3. using Content.Shared.Tools.Components;
  4. using Robust.Client.UserInterface;
  5. using Robust.Client.UserInterface.Controls;
  6. using Robust.Shared.Timing;
  7. namespace Content.Client.Tools.Components
  8. {
  9. public sealed class MultipleToolStatusControl : Control
  10. {
  11. private readonly MultipleToolComponent _parent;
  12. private readonly RichTextLabel _label;
  13. public MultipleToolStatusControl(MultipleToolComponent parent)
  14. {
  15. _parent = parent;
  16. _label = new RichTextLabel { StyleClasses = { StyleNano.StyleClassItemStatus } };
  17. _label.SetMarkup(_parent.StatusShowBehavior ? _parent.CurrentQualityName : string.Empty);
  18. AddChild(_label);
  19. }
  20. protected override void FrameUpdate(FrameEventArgs args)
  21. {
  22. base.FrameUpdate(args);
  23. if (_parent.UiUpdateNeeded)
  24. {
  25. _parent.UiUpdateNeeded = false;
  26. Update();
  27. }
  28. }
  29. public void Update()
  30. {
  31. _label.SetMarkup(_parent.StatusShowBehavior ? _parent.CurrentQualityName : string.Empty);
  32. }
  33. }
  34. }