Files
OldThink/Content.Client/_White/Wizard/Mirror/WizardMirrorBoundUserInterface.cs
Spatison f59765c072 Внешний вид мага (#444)
* add: Magic mirror

* add: Wizard appearance
2024-07-16 18:31:28 +03:00

54 lines
1.2 KiB
C#

using Content.Shared._White.Wizard.Mirror;
using Content.Shared.Preferences;
using Robust.Shared.Prototypes;
namespace Content.Client._White.Wizard.Mirror;
public sealed class WizardMirrorBoundUserInterface(EntityUid owner, Enum uiKey) : BoundUserInterface(owner, uiKey)
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[ViewVariables]
private WizardMirrorWindow? _window;
protected override void Open()
{
base.Open();
_window = new(_prototypeManager);
_window.OnSave += Save;
_window.OnClose += Close;
_window.OpenCentered();
}
private void Save(HumanoidCharacterProfile profile)
{
SendMessage(new WizardMirrorSave(profile));
}
protected override void UpdateState(BoundUserInterfaceState state)
{
base.UpdateState(state);
if (state is not WizardMirrorUiState data || _window == null)
return;
_window.UpdateState(data);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (!disposing)
return;
if (_window != null)
_window.OnClose -= Close;
_window?.Dispose();
}
}