fish-station/Content.Client/_Sunrise/PrinterDoc/PrinterDocBoundUserInterface.cs
Daniel d183d6812c
Printer update (#2615)
Co-authored-by: Vigers Ray <60344369+VigersRay@users.noreply.github.com>
2025-07-27 16:07:56 +03:00

38 lines
984 B
C#

using Content.Shared._Sunrise.PrinterDoc;
using Robust.Client.UserInterface;
namespace Content.Client._Sunrise.PrinterDoc;
public sealed class PrinterDocBoundUserInterface : BoundUserInterface
{
[ViewVariables]
private PrinterDocMenu? _window;
public PrinterDocBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { }
protected override void Open()
{
base.Open();
_window = this.CreateWindow<PrinterDocMenu>();
_window.OnPrintPressed += templateId =>
{
if (templateId != null)
SendMessage(new PrinterDocPrintMessage(templateId));
};
_window.OnCopyPressed += () =>
{
SendMessage(new PrinterDocCopyMessage());
};
}
protected override void UpdateState(BoundUserInterfaceState state)
{
if (state is not PrinterDocBoundUserInterfaceState s || _window == null)
return;
_window.UpdateState(s);
}
}