From: Checkraze <71046427+Cheackraze@users.noreply.github.com> Date: Mon, 13 Mar 2023 20:36:35 +0000 (-0400) Subject: Cargo Pallet Sale Console (#14422) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=b329abc9ee7ff9e411c8a05b839efffabd88737a;p=space-station-14.git Cargo Pallet Sale Console (#14422) --- diff --git a/Content.Client/Cargo/BUI/CargoPalletConsoleBoundUserInterface.cs b/Content.Client/Cargo/BUI/CargoPalletConsoleBoundUserInterface.cs new file mode 100644 index 0000000000..3c7b7fe0c0 --- /dev/null +++ b/Content.Client/Cargo/BUI/CargoPalletConsoleBoundUserInterface.cs @@ -0,0 +1,56 @@ +using Content.Client.Cargo.UI; +using Content.Shared.Cargo.BUI; +using Content.Shared.Cargo.Events; +using Robust.Client.GameObjects; + +namespace Content.Client.Cargo.BUI; + +public sealed class CargoPalletConsoleBoundUserInterface : BoundUserInterface +{ + private CargoPalletMenu? _menu; + + public CargoPalletConsoleBoundUserInterface(ClientUserInterfaceComponent owner, Enum uiKey) : base(owner, uiKey) {} + + protected override void Open() + { + base.Open(); + + _menu = new CargoPalletMenu(); + _menu.AppraiseRequested += OnAppraisal; + _menu.SellRequested += OnSell; + _menu.OnClose += Close; + + _menu.OpenCentered(); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + if (disposing) + { + _menu?.Dispose(); + } + } + + private void OnAppraisal() + { + SendMessage(new CargoPalletAppraiseMessage()); + } + + private void OnSell() + { + SendMessage(new CargoPalletSellMessage()); + } + + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + + if (state is not CargoPalletConsoleInterfaceState palletState) + return; + + _menu?.SetEnabled(palletState.Enabled); + _menu?.SetAppraisal(palletState.Appraisal); + _menu?.SetCount(palletState.Count); + } +} diff --git a/Content.Client/Cargo/UI/CargoPalletMenu.xaml b/Content.Client/Cargo/UI/CargoPalletMenu.xaml new file mode 100644 index 0000000000..489c6cb8f6 --- /dev/null +++ b/Content.Client/Cargo/UI/CargoPalletMenu.xaml @@ -0,0 +1,25 @@ + + + + + + +