mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-29 23:57:29 +00:00
* simple fix for "Approved by: Self" on all cargo invoices * port of ruddygreat's bounty console improvements to DeltaV * modified tooltips and fixed a few importing errors * StatusLabel in BountyEntry.xaml.cs * final stupid tweak * removed unrelated bugfix PR that snuck into this branch somehow * Cargo bounty fix requests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: cargomouse <dboozlebeep@gmail.com> Co-authored-by: Jessica Harvey <itsjessagain23@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
63 lines
2.3 KiB
C#
63 lines
2.3 KiB
C#
using Content.Client.UserInterface.Controls;
|
|
using Content.Shared.Cargo;
|
|
using Robust.Client.AutoGenerated;
|
|
using Robust.Client.UserInterface;
|
|
using Robust.Client.UserInterface.XAML;
|
|
|
|
namespace Content.Client.Cargo.UI;
|
|
|
|
[GenerateTypedNameReferences]
|
|
public sealed partial class CargoBountyMenu : FancyWindow
|
|
{
|
|
public Action<string>? OnLabelButtonPressed;
|
|
public Action<string>? OnSkipButtonPressed;
|
|
public Action<string>? OnClaimButtonPressed; // DeltaV
|
|
public Action<string, int>? OnStatusOptionSelected; // DeltaV
|
|
|
|
public CargoBountyMenu()
|
|
{
|
|
RobustXamlLoader.Load(this);
|
|
|
|
MasterTabContainer.SetTabTitle(0, Loc.GetString("bounty-console-tab-available-label"));
|
|
MasterTabContainer.SetTabTitle(1, Loc.GetString("bounty-console-tab-history-label"));
|
|
}
|
|
|
|
public void UpdateEntries(List<CargoBountyData> bounties, List<CargoBountyHistoryData> history, TimeSpan untilNextSkip)
|
|
{
|
|
MasterTabContainer.SetTabTitle(0, Loc.GetString("bounty-console-tab-available-label"));
|
|
MasterTabContainer.SetTabTitle(1, Loc.GetString("bounty-console-tab-history-label"));
|
|
|
|
BountyEntriesContainer.Children.Clear();
|
|
foreach (var b in bounties)
|
|
{
|
|
var entry = new BountyEntry(b, untilNextSkip);
|
|
entry.OnLabelButtonPressed += () => OnLabelButtonPressed?.Invoke(b.Id);
|
|
entry.OnSkipButtonPressed += () => OnSkipButtonPressed?.Invoke(b.Id);
|
|
entry.OnClaimButtonPressed += () => OnClaimButtonPressed?.Invoke(b.Id); // DeltaV
|
|
entry.BountyStatusSelector.OnItemSelected += args => OnStatusOptionSelected?.Invoke(b.Id, args.Id); // DeltaV
|
|
|
|
BountyEntriesContainer.AddChild(entry);
|
|
}
|
|
BountyEntriesContainer.AddChild(new Control
|
|
{
|
|
MinHeight = 10
|
|
});
|
|
|
|
BountyHistoryContainer.Children.Clear();
|
|
if (history.Count == 0)
|
|
{
|
|
NoHistoryLabel.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
NoHistoryLabel.Visible = false;
|
|
|
|
// Show the history in reverse, so last entry is first in the list
|
|
for (var i = history.Count - 1; i >= 0; i--)
|
|
{
|
|
BountyHistoryContainer.AddChild(new BountyHistoryEntry(history[i]));
|
|
}
|
|
}
|
|
}
|
|
}
|