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(); }
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(); }
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(); }
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(); }
// 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(); }