private IEnumerator PrintAll() { yield return(VRCUiManagerUtils.WaitForUiManagerInit()); foreach (GameObject gameObject in QuickMenuUtils.GetQuickMenuInstance().gameObject.scene.GetRootGameObjects()) { if (gameObject != null) { PrintHierarchy(gameObject.transform, 0); } } yield break; }
private IEnumerator VRCToolsSetup() { yield return(VRCUiManagerUtils.WaitForUiManagerInit()); VRCModLogger.Log("[AutoRelog] Overwriting login button event"); VRCUiPageAuthentication[] authpages = Resources.FindObjectsOfTypeAll <VRCUiPageAuthentication>(); VRCUiPageAuthentication loginPage = authpages.First((page) => page.gameObject.name == "LoginUserPass"); if (loginPage != null) { Button loginButton = loginPage.transform.Find("ButtonDone (1)")?.GetComponent <Button>(); if (loginButton != null) { ButtonClickedEvent bce = loginButton.onClick; loginButton.onClick = new ButtonClickedEvent(); loginButton.onClick.AddListener(() => { SecurePlayerPrefs.SetString("autorelog_login", GetTextFromUiInputField(loginPage.loginUserName), "vl9u1grTnvXA"); SecurePlayerPrefs.SetString("autorelog_password", GetTextFromUiInputField(loginPage.loginPassword), "vl9u1grTnvXA"); bce?.Invoke(); }); Transform useprebiousTransform = UnityUiUtils.DuplicateButton(loginButton.transform, "Use Last\nCredentials", new Vector2(440, 0)); useprebiousTransform.GetComponent <RectTransform>().sizeDelta *= 1.8f; Button useprebiousButton = useprebiousTransform.GetComponent <Button>(); useprebiousButton.onClick = new ButtonClickedEvent(); useprebiousButton.onClick.AddListener(() => { SetTextToUiInputField(loginPage.loginUserName, SecurePlayerPrefs.GetString("autorelog_login", "vl9u1grTnvXA")); SetTextToUiInputField(loginPage.loginPassword, SecurePlayerPrefs.GetString("autorelog_password", "vl9u1grTnvXA")); }); if (!SecurePlayerPrefs.HasKey("autorelog_login")) { useprebiousButton.interactable = false; } } else { VRCModLogger.Log("[VRCTools] Unable to find login button in login page"); } } else { VRCModLogger.Log("[VRCTools] Unable to find login page"); } }
private IEnumerator PrintUIDetails() { yield return(VRCUiManagerUtils.WaitForUiManagerInit()); yield return(new WaitForSeconds(10f)); Canvas componentInChildren = VRCUiManagerUtils.GetVRCUiManager().transform.GetComponentInChildren <Canvas>(); Utils.Log("Canvas: " + componentInChildren); Utils.Log(string.Concat(new object[] { "Canvas layer: ", componentInChildren.sortingLayerName, "(", componentInChildren.sortingLayerID, ")" })); Utils.Log("Canvas tag: " + componentInChildren.tag); Utils.Log("Canvas rendermode: " + componentInChildren.renderMode); Utils.Log("-----------------------------------------------------"); PrintHierarchy(VRCUiManagerUtils.GetVRCUiManager().transform.root, 0); yield break; }
// Token: 0x06000002 RID: 2 RVA: 0x0000205D File Offset: 0x0000025D public static IEnumerator WaitForUIManager() { yield return(VRCUiManagerUtils.WaitForUiManagerInit()); VRCUiManagerUtils.OnPageShown += delegate(VRCUiPage page) { if (page.GetType() == typeof(VRCUiPageSocial) && socialfix.ShouldRefresh) { socialfix.ShouldRefresh = false; foreach (UiUserList uiUserList in Resources.FindObjectsOfTypeAll <UiUserList>()) { uiUserList.ClearAll(); uiUserList.FetchAndRenderElementsForCurrentPage(); uiUserList.RefreshData(); } return; } if (page.GetType() == typeof(VRCUiPageHeader)) { socialfix.ShouldRefresh = true; } }; yield break; }
private IEnumerator WaitForUIManager() { yield return(VRCUiManagerUtils.WaitForUiManagerInit()); // Load modules #if DEBUG AddUserSpecificVolume(); #endif AddUserInfoButtons(); AddSocialRefresh(); // Debug /*Transform target = VRCEUi.InternalUserInfoScreen.UserPanel; * ExtendedLogger.Log("Transform: " + target.name); * foreach (Component component in target.GetComponents<Component>()) * ExtendedLogger.Log(" - " + component); * for (int i = 0; i < target.childCount; i++) * { * ExtendedLogger.Log("Transform: " + target.GetChild(i).name); * foreach (Component component in target.GetChild(i).GetComponents<Component>()) * ExtendedLogger.Log(" - " + component); * }*/ }
private IEnumerator InitEnhancedCamera() { yield return(VRCUiManagerUtils.WaitForUiManagerInit()); // Grab Controller UserCameraController userCameraController = Resources.FindObjectsOfTypeAll <UserCameraController>()[0]; // Create Sprites Sprite zoomin_sprite = CreateSprite(ImageData.zoomin_image); Sprite zoomout_sprite = CreateSprite(ImageData.zoomout_image); Sprite cameraindicator_on_sprite = CreateSprite(ImageData.cameraindicator_on_image); Sprite cameraindicator_off_sprite = CreateSprite(ImageData.cameraindicator_off_image); // Zoom-In GameObject zoomInButton = GameObject.Instantiate(userCameraController.viewFinder.transform.Find("PhotoControls/Right_Filters").gameObject, userCameraController.viewFinder.transform); VRCSDK2.VRC_CustomTrigger.Create("Zoom-In", zoomInButton, () => { Camera cam = userCameraController.photoCamera.GetComponent <Camera>(); if ((cam.fieldOfView - 10) > 0) { cam.fieldOfView -= 10; } cam = userCameraController.videoCamera.GetComponent <Camera>(); if ((cam.fieldOfView - 10) > 0) { cam.fieldOfView -= 10; } userCameraController.speaker.PlayOneShot(userCameraController.buttonSound); }); SetButtonSprite(zoomInButton, zoomin_sprite); SetButtonIconScale(zoomInButton); SetButtonOffset(zoomInButton); // Zoom-Out GameObject zoomOutButton = GameObject.Instantiate(userCameraController.viewFinder.transform.Find("PhotoControls/Right_Extender").gameObject, userCameraController.viewFinder.transform); VRCSDK2.VRC_CustomTrigger.Create("Zoom-Out", zoomOutButton, () => { Camera cam = userCameraController.photoCamera.GetComponent <Camera>(); if ((cam.fieldOfView + 10) < 180) { cam.fieldOfView += 10; } cam = userCameraController.videoCamera.GetComponent <Camera>(); if ((cam.fieldOfView + 10) < 180) { cam.fieldOfView += 10; } userCameraController.speaker.PlayOneShot(userCameraController.buttonSound); }); SetButtonSprite(zoomOutButton, zoomout_sprite); SetButtonIconScale(zoomOutButton); SetButtonOffset(zoomOutButton); // Toggle Camera Indicator GameObject cameraHelper = userCameraController.photoCamera.transform.Find("camera_lens_mesh").gameObject; GameObject toggleCameraIndicatorButton = GameObject.Instantiate(userCameraController.viewFinder.transform.Find("PhotoControls/Right_Timer").gameObject, userCameraController.viewFinder.transform); VRCSDK2.VRC_CustomTrigger.Create("Camera Indicator", toggleCameraIndicatorButton, () => { cameraHelper.SetActive(!cameraHelper.activeSelf); if (cameraHelper.activeSelf) { SetButtonSprite(toggleCameraIndicatorButton, cameraindicator_on_sprite); } else { SetButtonSprite(toggleCameraIndicatorButton, cameraindicator_off_sprite); } userCameraController.speaker.PlayOneShot(userCameraController.buttonSound); }); SetButtonSprite(toggleCameraIndicatorButton, cameraindicator_on_sprite); SetButtonIconScale(toggleCameraIndicatorButton); SetButtonOffset(toggleCameraIndicatorButton); // Resize Camera Body Transform camera_body = userCameraController.viewFinder.transform.Find("camera_mesh/body"); camera_body.localPosition = camera_body.localPosition + new Vector3(-0.025f, 0, 0); camera_body.localScale = camera_body.localScale + new Vector3(0.8f, 0, 0); }
IEnumerator WaitForUIManager() { yield return(VRCUiManagerUtils.WaitForUiManagerInit()); GameObject pageUserInfoObj = GameObject.Find("UserInterface/MenuContent/Screens/UserInfo"); if (pageUserInfoObj != null) { pageUserInfo = pageUserInfoObj.GetComponent <VRC.UI.PageUserInfo>(); if (pageUserInfo != null) { pageAvatar = Resources.FindObjectsOfTypeAll <VRC.UI.PageAvatar>().First(p => (p.transform.Find("Change Button") != null)); if (pageAvatar != null) { GameObject statspopup = GameObject.Find("UserInterface/MenuContent/Popups/AvatarStatsPopup"); if (statspopup != null) { Transform documentationbutton = statspopup.transform.Find("AvatarStatsMenu/_Buttons/DocumentationButton"); if (documentationbutton != null) { RectTransform recttrans = documentationbutton.GetComponent <RectTransform>(); if (recttrans != null) { recttrans.sizeDelta = new Vector2((recttrans.sizeDelta.x - 600), recttrans.sizeDelta.y); recttrans.localPosition = new Vector3((recttrans.localPosition.x - 300), recttrans.localPosition.y, recttrans.localPosition.z); } Transform buttontxt_trans = documentationbutton.Find("Text"); if (buttontxt_trans != null) { Text buttontxt = buttontxt_trans.GetComponent <Text>(); if (buttontxt != null) { buttontxt.fontSize -= 10; } } Transform buttonoverheadtxt_trans = documentationbutton.Find("Text (1)"); if (buttonoverheadtxt_trans != null) { RectTransform recttranstxt = buttonoverheadtxt_trans.GetComponent <RectTransform>(); if (recttranstxt != null) { recttranstxt.sizeDelta = new Vector2((recttranstxt.sizeDelta.x + 600), recttranstxt.sizeDelta.y); recttranstxt.localPosition = new Vector3((recttranstxt.localPosition.x + 300), recttranstxt.localPosition.y, recttranstxt.localPosition.z); } } Transform showcreatorbutton_trans = UnityUiUtils.DuplicateButton(documentationbutton, "Show Avatar Author", new Vector2(600, 0)); Button showcreatorbutton = showcreatorbutton_trans.GetComponent <Button>(); showcreatorbutton.onClick = new Button.ButtonClickedEvent(); showcreatorbutton.onClick.AddListener(() => { if ((pageUserInfo != null) && (pageAvatar != null) && (pageAvatar.avatar != null)) { VRC.Core.ApiAvatar currentApiAvatar = pageAvatar.avatar.apiAvatar; if (currentApiAvatar != null) { string authorid = currentApiAvatar.authorId; if (!string.IsNullOrEmpty(authorid)) { VRC.Core.APIUser.FetchUser(authorid, (VRC.Core.APIUser user) => { VRCUiManagerUtils.GetVRCUiManager().ShowScreen(pageUserInfo); pageUserInfo.SetupUserInfo(user); VRCUiPopupManagerUtils.GetVRCUiPopupManager().HideCurrentPopup(); }, null); } } } }); } } } } } }
// -1050 1470 // 420x420 private IEnumerator Setup() { isReady = false; while (!isReady) { yield return(VRCUiManagerUtils.WaitForUiManagerInit()); isReady = true; } Transform ButtonBase = QuickMenuUtils.GetQuickMenuInstance().transform.Find("ShortcutMenu/SettingsButton"); if (ButtonBase != null) { // Log window button ToggleLog = UnityUiUtils.DuplicateButton(ButtonBase, "Toggle\nConsole", new Vector2(0f, 0f)); ToggleLog.name = "ToggleLogButton"; ToggleLog.GetComponent <Button>().onClick.RemoveAllListeners(); ToggleLog.GetComponent <Button>().onClick.AddListener(delegate { ToggleLogWindow(); }); ToggleLog.GetComponent <RectTransform>().SetParent(ButtonBase.parent, true); ToggleLog.GetComponent <RectTransform>().localPosition = new Vector3(-1050f, 1470f, 0f); ToggleLog.GetComponent <RectTransform>().localRotation = Quaternion.identity; // Clear Log window button ClearLog = UnityUiUtils.DuplicateButton(ButtonBase, "Clear\nConsole", new Vector2(0f, 0f)); ClearLog.name = "ClearLogButton"; ClearLog.GetComponent <Button>().onClick.RemoveAllListeners(); ClearLog.GetComponent <Button>().onClick.AddListener(delegate { ConsoleLogs.Clear(); }); ClearLog.GetComponent <RectTransform>().SetParent(ButtonBase.parent, true); ClearLog.GetComponent <RectTransform>().localPosition = new Vector3(-1050f, 1050f, 0f); ClearLog.GetComponent <RectTransform>().localRotation = Quaternion.identity; // Third person button ToggleTP = UnityUiUtils.DuplicateButton(ButtonBase, "Toggle\nThird\nPerson", new Vector2(0f, 0f)); ToggleTP.name = "ToggleTPButton"; ToggleTP.GetComponent <Button>().onClick.RemoveAllListeners(); ToggleTP.GetComponent <Button>().onClick.AddListener(delegate { ToggleThirdPerson(); }); ToggleTP.GetComponent <RectTransform>().SetParent(ButtonBase.parent, true); ToggleTP.GetComponent <RectTransform>().localPosition = new Vector3(-1050f, 1890f, 0f); ToggleTP.GetComponent <RectTransform>().localRotation = Quaternion.identity; // Enable jumping AddJump = UnityUiUtils.DuplicateButton(ButtonBase, "Enable\nJumping", new Vector2(0f, 0f)); AddJump.name = "ToggleJumpButton"; AddJump.GetComponent <Button>().onClick.RemoveAllListeners(); AddJump.GetComponent <Button>().onClick.AddListener(delegate { EnableJumping(); }); AddJump.GetComponent <RectTransform>().SetParent(ButtonBase.parent, true); AddJump.GetComponent <RectTransform>().localPosition = new Vector3(1050f, 1890f, 0f); AddJump.GetComponent <RectTransform>().localRotation = Quaternion.identity; // Enable no gravity ToggleGravity = UnityUiUtils.DuplicateButton(ButtonBase, "Toggle\nGravity", new Vector2(0f, 0f)); ToggleGravity.name = "ToggleGravityButton"; ToggleGravity.GetComponent <Button>().onClick.RemoveAllListeners(); ToggleGravity.GetComponent <Button>().onClick.AddListener(delegate { toggleGravity(); }); ToggleGravity.GetComponent <RectTransform>().SetParent(ButtonBase.parent, true); ToggleGravity.GetComponent <RectTransform>().localPosition = new Vector3(1050f, 630f, 0f); ToggleGravity.GetComponent <RectTransform>().localRotation = Quaternion.identity; // Enable noclip ToggleNoclip = UnityUiUtils.DuplicateButton(ButtonBase, "Toggle\nNoclip", new Vector2(0f, 0f)); ToggleNoclip.name = "ToggleNoclipButton"; ToggleNoclip.GetComponent <Button>().onClick.RemoveAllListeners(); ToggleNoclip.GetComponent <Button>().onClick.AddListener(delegate { toggleNoclip(); }); ToggleNoclip.GetComponent <RectTransform>().SetParent(ButtonBase.parent, true); ToggleNoclip.GetComponent <RectTransform>().localPosition = new Vector3(-1050f, 630f, 0f); ToggleNoclip.GetComponent <RectTransform>().localRotation = Quaternion.identity; } else { AddDebugLine("Failed to find Button Base"); } InvokeRepeating("WatchForPlayers", 0f, 5f); }