Fix gas cannister slider log spam. (#6628)
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
using System;
|
||||
using Robust.Client.AutoGenerated;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.CustomControls;
|
||||
using Robust.Client.UserInterface.XAML;
|
||||
using Robust.Shared.Localization;
|
||||
using Robust.Shared.Input;
|
||||
using Range = Robust.Client.UserInterface.Controls.Range;
|
||||
|
||||
namespace Content.Client.Atmos.UI
|
||||
{
|
||||
@@ -16,7 +18,7 @@ namespace Content.Client.Atmos.UI
|
||||
private readonly ButtonGroup _buttonGroup = new();
|
||||
|
||||
public event Action? TankEjectButtonPressed;
|
||||
public event Action<float>? ReleasePressureSliderChanged;
|
||||
public event Action<float>? ReleasePressureSet;
|
||||
public event Action? ReleaseValveCloseButtonPressed;
|
||||
public event Action? ReleaseValveOpenButtonPressed;
|
||||
|
||||
@@ -31,7 +33,30 @@ namespace Content.Client.Atmos.UI
|
||||
ReleaseValveOpenButton.OnPressed += _ => ReleaseValveOpenButtonPressed?.Invoke();
|
||||
|
||||
TankEjectButton.OnPressed += _ => TankEjectButtonPressed?.Invoke();
|
||||
ReleasePressureSlider.OnValueChanged += r => ReleasePressureSliderChanged?.Invoke(r.Value);
|
||||
ReleasePressureSlider.OnKeyBindUp += OnReleasePressureSliderReleased;
|
||||
ReleasePressureSlider.OnValueChanged += OnReleasePressureSliderChanged;
|
||||
ReleasePressure.OnValueChanged += OnReleasePressureChanged;
|
||||
}
|
||||
|
||||
private void OnReleasePressureChanged(FloatSpinBox.FloatSpinBoxEventArgs args)
|
||||
{
|
||||
var value = Math.Clamp(args.Value, ReleasePressureSlider.MinValue, ReleasePressureSlider.MaxValue);
|
||||
|
||||
ReleasePressureSlider.SetValueWithoutEvent(value);
|
||||
ReleasePressureSet?.Invoke(value);
|
||||
}
|
||||
|
||||
private void OnReleasePressureSliderChanged(Range range)
|
||||
{
|
||||
ReleasePressure.Value = range.Value;
|
||||
}
|
||||
|
||||
private void OnReleasePressureSliderReleased(GUIBoundKeyEventArgs args)
|
||||
{
|
||||
if (args.Function != EngineKeyFunctions.UIClick)
|
||||
return;
|
||||
|
||||
ReleasePressureSet?.Invoke(ReleasePressureSlider.Value);
|
||||
}
|
||||
|
||||
public void SetCanisterLabel(string label)
|
||||
@@ -82,9 +107,12 @@ namespace Content.Client.Atmos.UI
|
||||
|
||||
public void SetReleasePressure(float pressure)
|
||||
{
|
||||
if (MathHelper.CloseTo(pressure, ReleasePressure.Value))
|
||||
return;
|
||||
|
||||
if(!ReleasePressureSlider.Grabbed)
|
||||
ReleasePressureSlider.SetValueWithoutEvent(pressure);
|
||||
ReleasePressureLabel.Text = Loc.GetString("comp-gas-canister-ui-pressure", ("pressure", Math.Round(pressure)));
|
||||
ReleasePressure.Value = pressure;
|
||||
}
|
||||
|
||||
public void SetReleaseValve(bool valve)
|
||||
|
||||
Reference in New Issue
Block a user