Skip to content

Commit 5665a48

Browse files
committed
perf: Improve slider performance
1 parent bad62a4 commit 5665a48

File tree

9 files changed

+2334
-5
lines changed

9 files changed

+2334
-5
lines changed

Assets/JCSUnity/Scripts/Actions/JCS_AppQuitOnLoadAction.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
*/
99
using UnityEngine;
1010

11+
#if UNITY_EDITOR
12+
using UnityEditor;
13+
#endif
14+
1115
namespace JCSUnity
1216
{
1317
/// <summary>
@@ -23,6 +27,10 @@ public class JCS_AppQuitOnLoadAction : MonoBehaviour
2327

2428
private void Awake()
2529
{
30+
#if UNITY_EDITOR
31+
EditorApplication.ExitPlaymode();
32+
#endif
33+
2634
Application.Quit();
2735
}
2836
}

Assets/JCSUnity/Scripts/Actions/JCS_AppQuitOnLoadServerAction.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
*/
99
using UnityEngine;
1010

11+
#if UNITY_EDITOR
12+
using UnityEditor;
13+
#endif
14+
1115
namespace JCSUnity
1216
{
1317
/// <summary>
@@ -43,6 +47,10 @@ private void Update()
4347
if (JCS_PacketLostPreventer.instance.PacketIds.Count != 0)
4448
return;
4549

50+
#if UNITY_EDITOR
51+
EditorApplication.ExitPlaymode();
52+
#endif
53+
4654
Application.Quit();
4755
}
4856
}

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)