Skip to content

Commit 6722add

Browse files
committed
perf: Improve slider performance
1 parent 2846f14 commit 6722add

File tree

6 files changed

+2317
-4
lines changed

6 files changed

+2317
-4
lines changed

Assets/JCSUnity/Scripts/UI/Slider/JCS_SliderTextDisplay.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,29 @@ public class JCS_SliderTextDisplay : JCS_TextObject
3838

3939
/* Functions */
4040

41-
private void Update()
41+
private void Awake()
42+
{
43+
AddListener();
44+
}
45+
46+
private void OnValidate()
47+
{
48+
AddListener();
49+
}
50+
51+
private void AddListener()
4252
{
4353
if (mSlider == null)
4454
return;
4555

56+
mSlider.onValueChanged.AddListener(delegate { OnValueChanged(); });
57+
58+
// Call once.
59+
OnValueChanged();
60+
}
61+
62+
private void OnValueChanged()
63+
{
4664
double val = Math.Round(mSlider.value, mRoundPlace);
4765

4866
this.text = val.ToString();

Assets/JCSUnity/Scripts/UI/Slider/JCS_SoundSlider.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,31 @@ private void Awake()
4040
this.mSlider = this.GetComponent<Slider>();
4141
}
4242

43-
private void LateUpdate()
43+
private void Start()
44+
{
45+
AddListener();
46+
}
47+
48+
private void OnValidate()
49+
{
50+
AddListener();
51+
}
52+
53+
private void AddListener()
54+
{
55+
if (mSlider == null)
56+
return;
57+
58+
// First, initialize to keep the settings untouched.
59+
mSlider.value = JCS_SoundSettings.instance.GetVolume(mSoundType);
60+
61+
mSlider.onValueChanged.AddListener(delegate { OnValueChanged(); });
62+
63+
// Call once.
64+
OnValueChanged();
65+
}
66+
67+
private void OnValueChanged()
4468
{
4569
var sm = JCS_SceneManager.instance;
4670

Assets/JCSUnity/Scripts/UI/Slider/JCS_TimeScaleSlider.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,27 @@ public class JCS_TimeScaleSlider : MonoBehaviour
2828
private void Awake()
2929
{
3030
this.mSlider = this.GetComponent<Slider>();
31+
32+
AddListener();
33+
}
34+
35+
private void OnValidate()
36+
{
37+
AddListener();
38+
}
39+
40+
private void AddListener()
41+
{
42+
if (mSlider == null)
43+
return;
44+
45+
mSlider.onValueChanged.AddListener(delegate { OnValueChanged(); });
46+
47+
// Call once.
48+
OnValueChanged();
3149
}
3250

33-
private void Update()
51+
private void OnValueChanged()
3452
{
3553
Time.timeScale = mSlider.value;
3654
}

0 commit comments

Comments
 (0)