59 lines
1.5 KiB
C#
59 lines
1.5 KiB
C#
using Content.Client.Power.Components;
|
|
using Content.Client.UserInterface.Controls;
|
|
using Robust.Client.AutoGenerated;
|
|
using Robust.Client.UserInterface.Controls;
|
|
using Robust.Client.UserInterface.XAML;
|
|
using Robust.Shared.Timing;
|
|
|
|
namespace Content.Client.Atmos.UI;
|
|
|
|
[GenerateTypedNameReferences]
|
|
public sealed partial class GasThermomachineWindow : FancyWindow
|
|
{
|
|
[Dependency] private readonly IEntityManager _entManager = default!;
|
|
|
|
public bool Active = true;
|
|
|
|
public FloatSpinBox TemperatureSpinbox;
|
|
|
|
public EntityUid Entity;
|
|
|
|
public GasThermomachineWindow()
|
|
{
|
|
IoCManager.InjectDependencies(this);
|
|
RobustXamlLoader.Load(this);
|
|
|
|
SpinboxHBox.AddChild(
|
|
TemperatureSpinbox = new FloatSpinBox(.1f, 2) { MinWidth = 150, HorizontalExpand = true }
|
|
);
|
|
}
|
|
|
|
public void SetActive(bool active)
|
|
{
|
|
Active = active;
|
|
if (active)
|
|
{
|
|
ToggleStatusButton.Text = Loc.GetString("comp-gas-thermomachine-ui-status-enabled");
|
|
}
|
|
else
|
|
{
|
|
ToggleStatusButton.Text = Loc.GetString("comp-gas-thermomachine-ui-status-disabled");
|
|
}
|
|
}
|
|
|
|
public void SetTemperature(float temperature)
|
|
{
|
|
TemperatureSpinbox.Value = temperature;
|
|
}
|
|
|
|
protected override void FrameUpdate(FrameEventArgs args)
|
|
{
|
|
base.FrameUpdate(args);
|
|
|
|
if (_entManager.TryGetComponent(Entity, out ApcPowerReceiverComponent? receiver))
|
|
{
|
|
SetActive(!receiver.PowerDisabled);
|
|
}
|
|
}
|
|
}
|