Skip to content
This repository was archived by the owner on Jan 24, 2023. It is now read-only.

Commit 3cde8e2

Browse files
committed
Fixed ToggleIcon OnValueChanged on later builds.
1 parent d4dc9f5 commit 3cde8e2

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

VRChat/VrcUiExtensions.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,25 @@ public static void StartRenderElementsCoroutine(this UiVRCList instance, Il2CppS
3030
}
3131

3232
private delegate void OnValueChangedDelegate(ToggleIcon toggleIcon, bool arg0);
33-
private static OnValueChangedDelegate _onValueChanged;
33+
private static List<OnValueChangedDelegate> _onValueChanged;
3434

3535
public static void OnValueChanged(this ToggleIcon toggleIcon, bool arg0)
3636
{
3737
if (_onValueChanged == null)
3838
{
39-
_onValueChanged = (OnValueChangedDelegate)Delegate.CreateDelegate(typeof(OnValueChangedDelegate),
40-
typeof(ToggleIcon).GetMethods().FirstOrDefault(m => m.Name.StartsWith("Method_Private_Void_Boolean_PDM_") && XrefUtils.CheckMethod(m, "Toggled")));
39+
_onValueChanged = new List<OnValueChangedDelegate>();
40+
foreach (var methodInfo in typeof(ToggleIcon).GetMethods().Where(m =>
41+
m.Name.StartsWith("Method_Private_Void_Boolean_PDM_") && XrefUtils.CheckMethod(m, "Toggled")))
42+
{
43+
_onValueChanged.Add(
44+
(OnValueChangedDelegate) Delegate.CreateDelegate(typeof(OnValueChangedDelegate), methodInfo));
45+
}
46+
}
47+
48+
foreach (var onValueChanged in _onValueChanged)
49+
{
50+
onValueChanged(toggleIcon, arg0);
4151
}
42-
43-
_onValueChanged(toggleIcon, arg0);
4452
}
4553

4654
public static void QueueHudMessage(this VRCUiManager uiManager, string notification, Color color, float duration = 5f,

0 commit comments

Comments
 (0)