From 0d50a7e8483d97e03cae8050732df83eba33f31f Mon Sep 17 00:00:00 2001 From: yum Date: Wed, 19 Feb 2025 16:16:39 -0800 Subject: Menus no longer implicitly go under /YOTS --- Scripts/YOTSNDMFGenerator.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'Scripts/YOTSNDMFGenerator.cs') diff --git a/Scripts/YOTSNDMFGenerator.cs b/Scripts/YOTSNDMFGenerator.cs index 525953c..602c247 100644 --- a/Scripts/YOTSNDMFGenerator.cs +++ b/Scripts/YOTSNDMFGenerator.cs @@ -90,7 +90,7 @@ namespace YOTS return; } // Create copies so the originals don't get modified - menu = UnityEngine.Object.Instantiate(menu); + menu = DeepCopyMenu(menu); parameters = UnityEngine.Object.Instantiate(parameters); descriptor.expressionsMenu = menu; descriptor.expressionParameters = parameters; @@ -166,6 +166,18 @@ namespace YOTS private class YOTSBuildState { public string jsonConfig; } + + private static VRCExpressionsMenu DeepCopyMenu(VRCExpressionsMenu sourceMenu) { + var copiedMenu = UnityEngine.Object.Instantiate(sourceMenu); + // Deep copy all submenu references + for (int i = 0; i < copiedMenu.controls.Count; i++) { + var control = copiedMenu.controls[i]; + if (control.type == VRCExpressionsMenu.Control.ControlType.SubMenu) { + control.subMenu = DeepCopyMenu(control.subMenu); + } + } + return copiedMenu; + } } } -- cgit v1.2.3