Exemplo n.º 1
0
        public void CubeMenu(bool useBigMenu)
        {
            ICustomShowableLayoutedMenu cubeMenu = null;

            cubeMenu = useBigMenu ? ExpansionKitApi.CreateCustomFullMenuPopup(LayoutDescriptionCustom.QuickMenu3Column4Row) : ExpansionKitApi.CreateCustomQuickMenuPage(LayoutDescriptionCustom.QuickMenu3Column4Row);
            cubeMenu.AddSimpleButton($"Destroy Cube", () => { DestroyCube(); cubeState = 0; });
            cubeMenu.AddSimpleButton($"Create Custom Cube", () => { CreateCube(customCubeHeight, customCubeWidth, customCubeLength, cubeHeightOffset); cubeState = 10; });
            cubeMenu.AddSimpleButton($"Settings", () => { SettMenu(useBigMenu); });
            ///
            cubeMenu.AddSimpleButton($"Create Small Cube", () => { CreateCube(5, 5, 5, .1f); cubeState = 1; });
            cubeMenu.AddSimpleButton($"Create Medium Cube", () => { CreateCube(15, 15, 15, .05f); cubeState = 2; });
            cubeMenu.AddSimpleButton($"Create Large Cube", () => { CreateCube(30, 30, 30, .05f); cubeState = 3; });
            /////
            cubeMenu.AddSimpleButton($"Wall Visibility Menu", () => { WallMenu(useBigMenu); });
            cubeMenu.AddSimpleButton($"Color Menu", () => { ColorMenu(useBigMenu); });
            cubeMenu.AddSimpleButton($"Color Menu Adjust", () => { ColorMenuAdj(useBigMenu); });
            /////
            cubeMenu.AddSimpleButton($"--Exit--", () => { cubeMenu.Hide(); });
            cubeMenu.AddToggleButton("Pickupable", (action) =>
            {
                category.GetEntry <bool>("WallsPickupable").Value = !category.GetEntry <bool>("WallsPickupable").Value;
                OnPreferencesSaved();
            }, () => category.GetEntry <bool>("WallsPickupable").Value);
            cubeMenu.AddToggleButton("Pickups snap to hand", (action) =>
            {
                category.GetEntry <bool>("PickupOrient").Value = !category.GetEntry <bool>("PickupOrient").Value;
                OnPreferencesSaved();
            }, () => category.GetEntry <bool>("PickupOrient").Value);
            //cubeMenu.AddSpacer();

            cubeMenu.Show();
        }
Exemplo n.º 2
0
        private static void ShowRotationMenu()
        {
            if (_rotationMenu == null)
            {
                _rotationMenu = ExpansionKitApi.CreateCustomQuickMenuPage(LayoutDescription.QuickMenu4Columns);

                _rotationMenu.AddSpacer();
                _rotationMenu.AddSimpleButton("Forward", () => Move(Transform.right));
                _rotationMenu.AddSpacer();
                _rotationMenu.AddSpacer();

                _rotationMenu.AddSimpleButton("Tilt Left", () => Move(Transform.forward));
                _rotationMenu.AddSimpleButton("Reset", () => CameraTransform.localRotation = OriginalRotation);
                _rotationMenu.AddSimpleButton("Tilt Right", () => Move(-Transform.forward));
                _rotationMenu.AddSpacer();

                _rotationMenu.AddSpacer();
                _rotationMenu.AddSimpleButton("Backward", () => Move(-Transform.right));
                _rotationMenu.AddSimpleButton("Left", () => Move(-Transform.up));
                _rotationMenu.AddSimpleButton("Right", () => Move(Transform.up));

                _rotationMenu.AddToggleButton("High precision", b => HighPrecision = b, () => HighPrecision);
                _rotationMenu.AddSpacer();
                _rotationMenu.AddSpacer();
                _rotationMenu.AddSimpleButton("Back", _rotationMenu.Hide);
            }
            _rotationMenu.Show();
        }
Exemplo n.º 3
0
        public void DefaultsMenu(bool useBigMenu)
        {
            ICustomShowableLayoutedMenu mirrorLayerMenu = null;

            mirrorLayerMenu = useBigMenu ? ExpansionKitApi.CreateCustomFullMenuPopup(LayoutDescriptionCustom.QuickMenu3Column) : ExpansionKitApi.CreateCustomQuickMenuPage(LayoutDescriptionCustom.QuickMenu3Column_Longer);

            mirrorLayerMenu.AddLabel("Set Default Layer Mask On World Join");
            mirrorLayerMenu.AddToggleButton("Set on Join", b => setMaskOnJoin.Value = b, () => setMaskOnJoin.Value);
            //mirrorLayerMenu.AddLabel($"Mask: {defaultMask.Value}");
            mirrorLayerMenu.AddSpacer();

            mirrorLayerMenu.AddSpacer();
            mirrorLayerMenu.AddSimpleButton($"Enable All", () => { defaultMask.Value = -1; UpdateButtons(defaultMask.Value); });
            mirrorLayerMenu.AddSimpleButton($"Disable All", () => { defaultMask.Value = 0; UpdateButtons(defaultMask.Value); });

            foreach (KeyValuePair <int, string> entry in layerList)
            {
                mirrorLayerMenu.AddLabel($"Layer #{entry.Key} {(IsLayerEnabled(defaultMask.Value, entry.Key) ? "++++++++" : "-----------")} \n{entry.Value}", (button) => buttonList[entry.Key] = button.transform);
                mirrorLayerMenu.AddSimpleButton($"Enable", () => { defaultMask.Value = defaultMask.Value | (1 << entry.Key); UpdateButtons(defaultMask.Value); });   //Remove Layer
                mirrorLayerMenu.AddSimpleButton($"Disable", () => { defaultMask.Value = defaultMask.Value & ~(1 << entry.Key); UpdateButtons(defaultMask.Value); }); //Add Layer
            }

            mirrorLayerMenu.AddSimpleButton($"Close", () => { mirrorLayerMenu.Hide(); });
            mirrorLayerMenu.AddSimpleButton($"Back", () => { EditMirrorLayersMenu(useBigMenu, null); });

            mirrorLayerMenu.Show();
        }
Exemplo n.º 4
0
        public void SettMenu(bool useBigMenu)
        {
            ICustomShowableLayoutedMenu Menu = null;

            Menu = useBigMenu ? ExpansionKitApi.CreateCustomFullMenuPopup(LayoutDescription.QuickMenu3Columns) : ExpansionKitApi.CreateCustomQuickMenuPage(LayoutDescription.QuickMenu3Columns);

            Menu.AddToggleButton("Cube Button on QuickMenu", (action) =>
            {
                category.GetEntry <bool>("CubeQMButt").Value = !category.GetEntry <bool>("CubeQMButt").Value;
                OnPreferencesSaved();
            }, () => category.GetEntry <bool>("CubeQMButt").Value);
            Menu.AddToggleButton("Cube Button on World Big Menu", (action) =>
            {
                category.GetEntry <bool>("CubeBigButt").Value = !category.GetEntry <bool>("CubeBigButt").Value;
                OnPreferencesSaved();
            }, () => category.GetEntry <bool>("CubeBigButt").Value);
            Menu.AddSpacer();
            ///
            Menu.AddSimpleButton($"-", () => {
                category.GetEntry <float>($"CubeHeightOffset").Value = Clamp(category.GetEntry <float>($"CubeHeightOffset").Value - 10, 0, 100);
                OnPreferencesSaved(); Menu.Hide(); SettMenu(useBigMenu);
            });
            Menu.AddSimpleButton($"Cube Height Offset:{(category.GetEntry<float>("CubeHeightOffset").Value)}\n0=None, 100=-1/2 Height", () => { });
            Menu.AddSimpleButton($"+", () => {
                category.GetEntry <float>($"CubeHeightOffset").Value = Clamp(category.GetEntry <float>($"CubeHeightOffset").Value + 10, 0, 100);
                OnPreferencesSaved(); Menu.Hide(); SettMenu(useBigMenu);
            });
            ///
            Menu.AddSimpleButton("Settings Menu\n----\nBack", () => { CubeMenu(useBigMenu); });
            Menu.AddToggleButton("Cube Respawns on world join", (action) =>
            {
                category.GetEntry <bool>("CubeRepawn").Value = !category.GetEntry <bool>("CubeRepawn").Value;
                OnPreferencesSaved();
            }, () => category.GetEntry <bool>("CubeRepawn").Value);
            Menu.AddToggleButton("Use Standard Shader vs Unlit Color", (action) =>
            {
                category.GetEntry <bool>("UseStandard").Value = !category.GetEntry <bool>("UseStandard").Value;
                OnPreferencesSaved();
            }, () => category.GetEntry <bool>("UseStandard").Value);


            Menu.Show();
        }
Exemplo n.º 5
0
        // Based on knah's ViewPointTweaker mod, https://github.com/knah/VRCMods/blob/master/ViewPointTweaker
        private void ShowRotationMenu()
        {
            if (rotationMenu == null)
            {
                rotationMenu = ExpansionKitApi.CreateCustomQuickMenuPage(LayoutDescription.QuickMenu4Columns);

                void Move(Vector3 direction)
                {
                    cameraTransform.Rotate(direction, highPrecision ? highPrecisionRotationValue : rotationValue, Space.World);
                }

                var transform = Camera.main.transform;

                rotationMenu.AddSpacer();
                rotationMenu.AddSimpleButton("Forward", () => Move(transform.right));
                rotationMenu.AddSpacer();
                rotationMenu.AddSpacer();

                rotationMenu.AddSimpleButton("Tilt Left", () => Move(transform.forward));
                rotationMenu.AddSimpleButton("Reset", () => cameraTransform.localRotation = originalRotation);
                rotationMenu.AddSimpleButton("Tilt Right", () => Move(-transform.forward));
                rotationMenu.AddSpacer();

                rotationMenu.AddSpacer();
                rotationMenu.AddSimpleButton("Backward", () => Move(-transform.right));
                rotationMenu.AddSimpleButton("Left", () => Move(-transform.up));
                rotationMenu.AddSimpleButton("Right", () => Move(transform.up));

                rotationMenu.AddToggleButton("High precision", b => highPrecision = b, () => highPrecision);
                rotationMenu.AddSpacer();
                rotationMenu.AddSpacer();
                rotationMenu.AddSimpleButton("Back", rotationMenu.Hide);
            }

            rotationMenu.Show();
        }