Inheritance: MonoBehaviour
Exemple #1
0
        public static void MainMenu()
        {
            string[] StringList = { "1 : Håndter Studerende",
                                    "2 : Håndter Elev F*g",
                                    "3 : Afslut program !!!" };

            int KeypressedValue = 0;

            do
            {
                KeypressedValue = ToolsMenu.MakeMenu(StringList);

                switch (KeypressedValue)
                {
                case 1:
                    ToolsDatabaseUpperLayer.HandleStudentMenu();
                    break;

                case 2:
                    ToolsDatabaseUpperLayer.HandleStudentCourseMenu();
                    break;
                }
            } while (KeypressedValue < StringList.Length);
        }
Exemple #2
0
        internal void SpawnDefaultTools(IProxy proxy)
        {
            var defaultTools = EditorXR.DefaultTools;

            if (defaultTools == null)
            {
                return;
            }

            var moduleLoaderCore  = ModuleLoaderCore.instance;
            var menuModule        = moduleLoaderCore.GetModule <EditorXRMenuModule>();
            var lockModule        = moduleLoaderCore.GetModule <LockModule>();
            var deviceInputModule = moduleLoaderCore.GetModule <DeviceInputModule>();
            var vacuumablesModule = moduleLoaderCore.GetModule <EditorXRVacuumableModule>();
            var vacuumables       = vacuumablesModule != null ? vacuumablesModule.vacuumables : new List <IVacuumable>();

            foreach (var device in deviceData)
            {
                var      inputDevice       = device.inputDevice;
                ToolData selectionToolData = null;

                if (device.proxy != proxy)
                {
                    continue;
                }

                var rayOrigin = device.rayOrigin;
                foreach (var toolType in defaultTools)
                {
                    HashSet <InputDevice> devices;
                    var toolData = SpawnTool(toolType, out devices, inputDevice, rayOrigin, deviceInputModule);
                    AddToolToDeviceData(toolData, devices);

                    var tool          = toolData.tool;
                    var selectionTool = tool as SelectionTool;
                    if (selectionTool)
                    {
                        selectionToolData = toolData;
                        if (lockModule != null)
                        {
                            selectionTool.hovered += lockModule.OnHovered;
                        }
                    }

                    var vacuumTool = tool as VacuumTool;
                    if (vacuumTool)
                    {
                        vacuumTool.defaultOffset = WorkspaceModule.DefaultWorkspaceOffset;
                        vacuumTool.defaultTilt   = WorkspaceModule.DefaultWorkspaceTilt;
                        vacuumTool.vacuumables   = vacuumables;
                    }
                }

                IMainMenu mainMenu;
                var       menuHideData = device.menuHideData;
                if (EditorXR.DefaultMenu != null)
                {
                    mainMenu               = (IMainMenu)menuModule.SpawnMenu(EditorXR.DefaultMenu, rayOrigin);
                    device.mainMenu        = mainMenu;
                    menuHideData[mainMenu] = new MenuHideData();
                }

                if (EditorXR.DefaultAlternateMenu != null)
                {
                    var alternateMenu = (IAlternateMenu)menuModule.SpawnMenu(EditorXR.DefaultAlternateMenu, rayOrigin);
                    menuHideData[alternateMenu] = new MenuHideData();
                    var radialMenu = alternateMenu as RadialMenu;
                    if (radialMenu)
                    {
                        radialMenu.itemWasSelected += menuModule.UpdateAlternateMenuOnSelectionChanged;
                    }
                }

                var undoMenu = menuModule.SpawnMenu <UndoMenu>(rayOrigin);
                var hideData = new MenuHideData();
                menuHideData[undoMenu] = hideData;
                hideData.hideFlags     = 0;

                // Setup ToolsMenu
                ToolsMenu toolsMenu  = null;
                var       toolsMenus = gameObject.GetComponents <ToolsMenu>();
                foreach (var m in toolsMenus)
                {
                    if (!m.enabled)
                    {
                        toolsMenu = m;
                        break;
                    }
                }

                if (!toolsMenu)
                {
                    toolsMenu = EditorXRUtils.AddComponent <ToolsMenu>(gameObject);
                }

                toolsMenu.enabled = true;
                this.ConnectInterfaces(toolsMenu, rayOrigin);
                this.InjectFunctionalitySingle(toolsMenu);
                device.toolsMenu    = toolsMenu;
                toolsMenu.rayOrigin = rayOrigin;
                toolsMenu.setButtonForType(typeof(IMainMenu), null);
                toolsMenu.setButtonForType(typeof(SelectionTool), selectionToolData != null ? selectionToolData.icon : null);

                var spatialMenu = EditorXRUtils.AddComponent <SpatialMenu>(gameObject);
                this.ConnectInterfaces(spatialMenu, rayOrigin);
                this.InjectFunctionalitySingle(spatialMenu);
                spatialMenu.Setup();
                device.spatialMenu = spatialMenu;
            }

            if (deviceInputModule != null)
            {
                deviceInputModule.UpdatePlayerHandleMaps();
            }
        }