* Reapply "Remove some BUI boilerplate" (#30214)
This reverts commit cb0ba66be3.
* Fix gas tank
* Fix PA
* Fix microwave
* Comms console underwrap
* Fix rcd
* log wehs
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using Content.Shared.Thief;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Client.GameObjects;
|
||||
using Robust.Client.UserInterface;
|
||||
|
||||
namespace Content.Client.Thief;
|
||||
|
||||
@@ -15,21 +16,9 @@ public sealed class ThiefBackpackBoundUserInterface : BoundUserInterface
|
||||
{
|
||||
base.Open();
|
||||
|
||||
_window = new ThiefBackpackMenu(this);
|
||||
_window.OnClose += Close;
|
||||
_window.OpenCentered();
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
if (!disposing)
|
||||
return;
|
||||
|
||||
if (_window != null)
|
||||
_window.OnClose -= Close;
|
||||
|
||||
_window?.Dispose();
|
||||
_window = this.CreateWindow<ThiefBackpackMenu>();
|
||||
_window.OnApprove += SendApprove;
|
||||
_window.OnSetChange += SendChangeSelected;
|
||||
}
|
||||
|
||||
protected override void UpdateState(BoundUserInterfaceState state)
|
||||
|
||||
@@ -12,46 +12,42 @@ public sealed partial class ThiefBackpackMenu : FancyWindow
|
||||
[Dependency] private readonly IEntitySystemManager _sysMan = default!;
|
||||
private readonly SpriteSystem _spriteSystem;
|
||||
|
||||
private readonly ThiefBackpackBoundUserInterface _owner;
|
||||
public event Action? OnApprove;
|
||||
public event Action<int>? OnSetChange;
|
||||
|
||||
public ThiefBackpackMenu(ThiefBackpackBoundUserInterface owner)
|
||||
public ThiefBackpackMenu()
|
||||
{
|
||||
RobustXamlLoader.Load(this);
|
||||
IoCManager.InjectDependencies(this);
|
||||
_spriteSystem = _sysMan.GetEntitySystem<SpriteSystem>();
|
||||
|
||||
_owner = owner;
|
||||
|
||||
ApproveButton.OnButtonDown += (args) =>
|
||||
ApproveButton.OnPressed += args =>
|
||||
{
|
||||
_owner.SendApprove();
|
||||
OnApprove?.Invoke();
|
||||
};
|
||||
}
|
||||
|
||||
public void UpdateState(ThiefBackpackBoundUserInterfaceState state)
|
||||
{
|
||||
SetsGrid.RemoveAllChildren();
|
||||
int count = 0;
|
||||
int selectedNumber = 0;
|
||||
foreach (var set in state.Sets)
|
||||
SetsGrid.DisposeAllChildren();
|
||||
var selectedNumber = 0;
|
||||
foreach (var (set, info) in state.Sets)
|
||||
{
|
||||
var child = new ThiefBackpackSet(set.Value, _spriteSystem);
|
||||
var child = new ThiefBackpackSet(info, _spriteSystem);
|
||||
|
||||
child.SetButton.OnButtonDown += (args) =>
|
||||
{
|
||||
_owner.SendChangeSelected(set.Key);
|
||||
OnSetChange?.Invoke(set);
|
||||
};
|
||||
|
||||
SetsGrid.AddChild(child);
|
||||
|
||||
count++;
|
||||
|
||||
if (set.Value.Selected)
|
||||
if (info.Selected)
|
||||
selectedNumber++;
|
||||
}
|
||||
|
||||
Description.Text = Loc.GetString("thief-backpack-window-description", ("maxCount", state.MaxSelectedSets));
|
||||
SelectedSets.Text = Loc.GetString("thief-backpack-window-selected", ("selectedCount", selectedNumber), ("maxCount", state.MaxSelectedSets));
|
||||
ApproveButton.Disabled = selectedNumber == state.MaxSelectedSets ? false : true;
|
||||
ApproveButton.Disabled = selectedNumber != state.MaxSelectedSets;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user