Beispiel #1
0
    private void SubControl(VRCExpressionsMenu.Control control, int controlIndex, LyumaAv3Menu menu, string labelType)
    {
        var parameterName = control.parameter.name;
        var intValue      = (int)control.value;

        var isActive = menu.IsVisualActive(parameterName, intValue);

        EditorGUILayout.BeginHorizontal();
        EditorGUI.BeginDisabledGroup(menu.HasActiveControl() && !menu.IsActiveControl(controlIndex));
        if (GreenBackground(isActive || menu.IsActiveControl(controlIndex), () => ParameterizedButton(control, parameterName, intValue)))
        {
            if (!menu.IsActiveControl(controlIndex))
            {
                if (IsValidParameterName(parameterName))
                {
                    menu.UserControlEnter(controlIndex, parameterName, intValue);
                }
                else
                {
                    menu.UserControlEnter(controlIndex);
                }
            }
            else
            {
                menu.UserControlExit();
            }
        }

        EditorGUI.EndDisabledGroup();
        LabelType(labelType);
        EditorGUILayout.EndHorizontal();
    }
Beispiel #2
0
    private static void OpenMenuForTwoHandedSupport(LyumaAv3Menu menu)
    {
        var mainMenu = menu.Runtime.gameObject.AddComponent <LyumaAv3Menu>();

        mainMenu.Runtime  = menu.Runtime;
        mainMenu.RootMenu = menu.RootMenu;
    }
Beispiel #3
0
    private static void SliderFloat(LyumaAv3Menu menu, VRCExpressionsMenu.Control.Parameter subParam, string intent, float left, float right)
    {
        if (subParam == null || subParam.name == "")
        {
            EditorGUI.BeginDisabledGroup(true);
            EditorGUILayout.Slider(intent, 0, left, right);
            EditorGUI.EndDisabledGroup();
            return;
        }

        menu.UserFloat(subParam.name, EditorGUILayout.Slider(intent + " (" + subParam.name + ")", menu.FindFloat(subParam.name), left, right));
    }