NanoTaskItemControl.xaml.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. using Robust.Client.AutoGenerated;
  2. using Robust.Client.Graphics;
  3. using Robust.Client.UserInterface;
  4. using Robust.Client.UserInterface.XAML;
  5. using Robust.Shared.Maths;
  6. using Content.Shared.CartridgeLoader.Cartridges;
  7. namespace Content.Client.CartridgeLoader.Cartridges;
  8. /// <summary>
  9. /// Represents a single control for a single NanoTask item
  10. /// </summary>
  11. [GenerateTypedNameReferences]
  12. public sealed partial class NanoTaskItemControl : Control
  13. {
  14. public Action<int>? OnMainPressed;
  15. public Action<int>? OnDonePressed;
  16. public NanoTaskItemControl(NanoTaskItemAndId item)
  17. {
  18. RobustXamlLoader.Load(this);
  19. TaskLabel.Text = item.Data.Description;
  20. TaskLabel.FontColorOverride = Color.White;
  21. TaskForLabel.Text = item.Data.TaskIsFor;
  22. MainButton.OnPressed += _ => OnMainPressed?.Invoke(item.Id);
  23. DoneButton.OnPressed += _ => OnDonePressed?.Invoke(item.Id);
  24. MainButton.Disabled = item.Data.IsTaskDone;
  25. DoneButton.Text = item.Data.IsTaskDone ? Loc.GetString("nano-task-ui-revert-done") : Loc.GetString("nano-task-ui-done");
  26. }
  27. }