Apply the TimeScaleWidget default slider value before adding the listener so it doesn't try to set up the time right away, which might give an error in some games (e.g. Iron Harvest).

This commit is contained in:
originalnicodr committed 2024-03-09 16:12:34 -03:00
1 parent ac00a42432
commit 180139dcd2
1 file changed
+5 -3
+5 -3
View File
@@ -25,7 +25,7 @@ namespace UnityExplorer.UI.Widgets
Toggle overrideTimeScaleToggle;
InputFieldRef timeInput;
float desiredTime = 1;
float desiredTime;
bool settingTimeScale;
bool pause;
Slider slider;
@@ -117,6 +117,10 @@ namespace UnityExplorer.UI.Widgets
GameObject sliderObj = UIFactory.CreateSlider(parent, "Slider_time_scale", out slider);
UIFactory.SetLayoutElement(sliderObj, minHeight: 25, minWidth: 75, flexibleWidth: 0);
slider.value = 1;
desiredTime = 1;
previousDesiredTime = 1;
slider.onValueChanged.AddListener((newTimeScale) => {
desiredTime = newTimeScale;
timeInput.Text = desiredTime.ToString("0.00");
@@ -136,8 +140,6 @@ namespace UnityExplorer.UI.Widgets
overrideTimeScaleToggle.isOn = false;
overrideTimeScaleToggle.onValueChanged.AddListener(OnOverrideValueChanged);
overrideTimeScaleText.text = "Override";
slider.value = 1;
}
static void InitPatch()