Fix gas cannister slider log spam. (#6628)
This commit is contained in:
@@ -32,7 +32,7 @@ namespace Content.Client.Atmos.UI
|
||||
_window.OnClose += Close;
|
||||
_window.ReleaseValveCloseButtonPressed += OnReleaseValveClosePressed;
|
||||
_window.ReleaseValveOpenButtonPressed += OnReleaseValveOpenPressed;
|
||||
_window.ReleasePressureSliderChanged += OnReleasePressurePressed;
|
||||
_window.ReleasePressureSet += OnReleasePressureSet;
|
||||
_window.TankEjectButtonPressed += OnTankEjectPressed;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Content.Client.Atmos.UI
|
||||
SendMessage(new GasCanisterHoldingTankEjectMessage());
|
||||
}
|
||||
|
||||
private void OnReleasePressurePressed(float value)
|
||||
private void OnReleasePressureSet(float value)
|
||||
{
|
||||
SendMessage(new GasCanisterChangeReleasePressureMessage(value));
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
</BoxContainer>
|
||||
<BoxContainer Orientation="Vertical" HorizontalExpand="True" Margin="15 0 0 15" SeparationOverride="5">
|
||||
<Slider Name="ReleasePressureSlider" HorizontalExpand="True"/>
|
||||
<Label Name="ReleasePressureLabel" Align="Center" HorizontalExpand="True"/>
|
||||
<FloatSpinBox Name="ReleasePressure" MaxWidth="150" Align="Center"/>
|
||||
</BoxContainer>
|
||||
</BoxContainer>
|
||||
<BoxContainer Orientation="Horizontal">
|
||||
|
||||
@@ -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