Cargo shuttle changes (#14363)
This commit is contained in:
@@ -3,8 +3,6 @@ using Content.Shared.Cargo;
|
||||
using Content.Shared.Cargo.Prototypes;
|
||||
using Robust.Client.AutoGenerated;
|
||||
using Robust.Client.GameObjects;
|
||||
using Robust.Client.Graphics;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.XAML;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Timing;
|
||||
@@ -14,23 +12,14 @@ namespace Content.Client.Cargo.UI
|
||||
[GenerateTypedNameReferences]
|
||||
public sealed partial class CargoShuttleMenu : FancyWindow
|
||||
{
|
||||
private readonly IGameTiming _timing;
|
||||
private readonly IPrototypeManager _protoManager;
|
||||
private readonly SpriteSystem _spriteSystem;
|
||||
|
||||
public Action? ShuttleCallRequested;
|
||||
public Action? ShuttleRecallRequested;
|
||||
|
||||
private TimeSpan? _shuttleEta;
|
||||
|
||||
public CargoShuttleMenu(IGameTiming timing, IPrototypeManager protoManager, SpriteSystem spriteSystem)
|
||||
public CargoShuttleMenu(IPrototypeManager protoManager, SpriteSystem spriteSystem)
|
||||
{
|
||||
RobustXamlLoader.Load(this);
|
||||
_timing = timing;
|
||||
_protoManager = protoManager;
|
||||
_spriteSystem = spriteSystem;
|
||||
ShuttleCallButton.OnPressed += OnCallPressed;
|
||||
ShuttleRecallButton.OnPressed += OnRecallPressed;
|
||||
Title = Loc.GetString("cargo-shuttle-console-menu-title");
|
||||
}
|
||||
|
||||
@@ -44,33 +33,6 @@ namespace Content.Client.Cargo.UI
|
||||
ShuttleNameLabel.Text = name;
|
||||
}
|
||||
|
||||
public void SetShuttleETA(TimeSpan? eta)
|
||||
{
|
||||
_shuttleEta = eta;
|
||||
|
||||
if (eta == null)
|
||||
{
|
||||
ShuttleCallButton.Visible = false;
|
||||
ShuttleRecallButton.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ShuttleRecallButton.Visible = false;
|
||||
ShuttleCallButton.Visible = true;
|
||||
ShuttleCallButton.Disabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnRecallPressed(BaseButton.ButtonEventArgs obj)
|
||||
{
|
||||
ShuttleRecallRequested?.Invoke();
|
||||
}
|
||||
|
||||
private void OnCallPressed(BaseButton.ButtonEventArgs obj)
|
||||
{
|
||||
ShuttleCallRequested?.Invoke();
|
||||
}
|
||||
|
||||
public void SetOrders(List<CargoOrderData> orders)
|
||||
{
|
||||
Orders.DisposeAllChildren();
|
||||
@@ -102,27 +64,5 @@ namespace Content.Client.Cargo.UI
|
||||
Orders.AddChild(row);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetCanRecall(bool canRecall)
|
||||
{
|
||||
ShuttleRecallButton.Disabled = !canRecall;
|
||||
}
|
||||
|
||||
protected override void Draw(DrawingHandleScreen handle)
|
||||
{
|
||||
base.Draw(handle);
|
||||
|
||||
var remaining = _shuttleEta - _timing.CurTime;
|
||||
|
||||
if (remaining == null || remaining <= TimeSpan.Zero)
|
||||
{
|
||||
ShuttleStatusLabel.Text = $"Available";
|
||||
ShuttleCallButton.Disabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
ShuttleStatusLabel.Text = $"Available in: {remaining.Value.TotalSeconds:0.0}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user