mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-23 00:27:50 +03:00
* Reverse Engineering. It's engineering. It's reversed. I implemented Bluespace Crystals to get everything to work. I may have missed some recipes in the Lathes. Otherwise, everything seems like it just works. Blukie suits baby. * Fixing the Bonus mechanic out of testing. * Fixing Attributions. * Fixing Attributions again because it won't let me put in multiple links into one string. * Not dealing with Techfabs right now, integration tests will not pass with them. * Added appropriate comments --------- Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
76 lines
2.0 KiB
C#
76 lines
2.0 KiB
C#
using Content.Shared.ReverseEngineering;
|
|
using JetBrains.Annotations;
|
|
using Robust.Client.GameObjects;
|
|
|
|
namespace Content.Client.Nyanotrasen.ReverseEngineering;
|
|
|
|
[UsedImplicitly]
|
|
public sealed class ReverseEngineeringMachineBoundUserInterface : BoundUserInterface
|
|
{
|
|
private ReverseEngineeringMachineMenu? _revMenu;
|
|
|
|
public ReverseEngineeringMachineBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
|
|
{
|
|
}
|
|
|
|
protected override void Open()
|
|
{
|
|
base.Open();
|
|
|
|
_revMenu = new ReverseEngineeringMachineMenu();
|
|
|
|
_revMenu.OnClose += Close;
|
|
_revMenu.OpenCentered();
|
|
|
|
_revMenu.OnScanButtonPressed += _ =>
|
|
{
|
|
SendMessage(new ReverseEngineeringMachineScanButtonPressedMessage());
|
|
};
|
|
|
|
_revMenu.OnSafetyButtonToggled += safetyArgs =>
|
|
{
|
|
SendMessage(new ReverseEngineeringMachineSafetyButtonToggledMessage(safetyArgs.Pressed));
|
|
};
|
|
|
|
_revMenu.OnAutoScanButtonToggled += autoArgs =>
|
|
{
|
|
SendMessage(new ReverseEngineeringMachineAutoScanButtonToggledMessage(autoArgs.Pressed));
|
|
};
|
|
|
|
_revMenu.OnStopButtonPressed += _ =>
|
|
{
|
|
SendMessage(new ReverseEngineeringMachineStopButtonPressedMessage());
|
|
};
|
|
|
|
_revMenu.OnEjectButtonPressed += _ =>
|
|
{
|
|
SendMessage(new ReverseEngineeringMachineEjectButtonPressedMessage());
|
|
};
|
|
}
|
|
|
|
protected override void UpdateState(BoundUserInterfaceState state)
|
|
{
|
|
base.UpdateState(state);
|
|
|
|
switch (state)
|
|
{
|
|
case ReverseEngineeringMachineScanUpdateState msg:
|
|
_revMenu?.SetButtonsDisabled(msg);
|
|
_revMenu?.UpdateInformationDisplay(msg);
|
|
_revMenu?.UpdateProbeTickProgressBar(msg);
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
base.Dispose(disposing);
|
|
|
|
if (!disposing)
|
|
return;
|
|
|
|
_revMenu?.Dispose();
|
|
}
|
|
}
|
|
|