using Content.Client.Cargo.UI; using Content.Shared.Cargo.BUI; using Content.Shared.Cargo.Events; using Robust.Client.GameObjects; using Robust.Client.UserInterface; namespace Content.Client.Cargo.BUI; public sealed class CargoPalletConsoleBoundUserInterface : BoundUserInterface { [ViewVariables] private CargoPalletMenu? _menu; public CargoPalletConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { } protected override void Open() { base.Open(); _menu = this.CreateWindow(); _menu.AppraiseRequested += OnAppraisal; _menu.SellRequested += OnSell; } 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); } }