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); } } }