| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using Robust.Client.AutoGenerated;
- using Robust.Client.UserInterface.Controls;
- using Robust.Client.UserInterface.CustomControls;
- using Robust.Client.UserInterface.XAML;
- using Robust.Shared.Timing;
- namespace Content.Client.Instruments.UI;
- [GenerateTypedNameReferences]
- public sealed partial class BandMenu : DefaultWindow
- {
- private readonly InstrumentBoundUserInterface _owner;
- public EntityUid? Master;
- public BandMenu(InstrumentBoundUserInterface owner)
- {
- RobustXamlLoader.Load(this);
- _owner = owner;
- BandList.OnItemSelected += OnItemSelected;
- RefreshButton.OnPressed += OnRefreshPressed;
- }
- private void OnRefreshPressed(BaseButton.ButtonEventArgs obj)
- {
- _owner.RefreshBands();
- }
- private void OnItemSelected(ItemList.ItemListSelectedEventArgs args)
- {
- _owner.Instruments.SetMaster(_owner.Owner, (EntityUid)args.ItemList[args.ItemIndex].Metadata!);
- BandList.Clear();
- Timer.Spawn(0, Close);
- }
- public void Populate((NetEntity, string)[] nearby, IEntityManager entManager)
- {
- BandList.Clear();
- foreach (var (nent, name) in nearby)
- {
- var uid = entManager.GetEntity(nent);
- var item = BandList.AddItem(name, null, true, uid);
- item.Selected = Master == uid;
- }
- }
- }
|