From: pathetic meowmeow Date: Sat, 15 Mar 2025 16:24:23 +0000 (-0400) Subject: NanoTask (#34095) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=4576555e5bccc033e8d334169cf33794bd444e65;p=space-station-14.git NanoTask (#34095) --- diff --git a/Content.Client/CartridgeLoader/Cartridges/NanoTaskCartridgeSystem.cs b/Content.Client/CartridgeLoader/Cartridges/NanoTaskCartridgeSystem.cs new file mode 100644 index 0000000000..85a5659c4b --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NanoTaskCartridgeSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared.CartridgeLoader.Cartridges; + +namespace Content.Client.CartridgeLoader.Cartridges; + +public sealed class NanoTaskCartridgeSystem : SharedNanoTaskCartridgeSystem; diff --git a/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml new file mode 100644 index 0000000000..7d7c635de8 --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml @@ -0,0 +1,32 @@ + + + + + + diff --git a/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml.cs b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml.cs new file mode 100644 index 0000000000..5edbee9d44 --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml.cs @@ -0,0 +1,33 @@ +using Robust.Client.AutoGenerated; +using Robust.Client.Graphics; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Maths; +using Content.Shared.CartridgeLoader.Cartridges; + +namespace Content.Client.CartridgeLoader.Cartridges; + +/// +/// Represents a single control for a single NanoTask item +/// +[GenerateTypedNameReferences] +public sealed partial class NanoTaskItemControl : Control +{ + public Action? OnMainPressed; + public Action? OnDonePressed; + + public NanoTaskItemControl(NanoTaskItemAndId item) + { + RobustXamlLoader.Load(this); + + TaskLabel.Text = item.Data.Description; + TaskLabel.FontColorOverride = Color.White; + TaskForLabel.Text = item.Data.TaskIsFor; + + MainButton.OnPressed += _ => OnMainPressed?.Invoke(item.Id); + DoneButton.OnPressed += _ => OnDonePressed?.Invoke(item.Id); + + MainButton.Disabled = item.Data.IsTaskDone; + DoneButton.Text = item.Data.IsTaskDone ? Loc.GetString("nano-task-ui-revert-done") : Loc.GetString("nano-task-ui-done"); + } +} diff --git a/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemPopup.xaml b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemPopup.xaml new file mode 100644 index 0000000000..ad72df05d9 --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemPopup.xaml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + +