示例#1
0
 protected void InvokeClick(object sender, ButtonEventArgs args)
 {
     if (ButtonClickedEvent != null)
     {
         ButtonClickedEvent.Invoke(sender, args);
     }
 }
示例#2
0
 protected void LeftMouseUpEventHandler(object sender, MouseEventArgs args)
 {
     if (_mouseOver && ButtonClickedEvent != null)
     {
         ButtonClickedEvent.Invoke(this, new ButtonEventArgs(this));
     }
 }
示例#3
0
        private void ChessBoard_PlayerMarked(object sender, ButtonClickedEvent e)
        {
            tmCountDown.Start();
            prcbCoolDown.Value = 0;

            socket.Send(new SocketData((int)SocketCommand.SEND_POINT, "", e.ClickedPoint));
            Listen();
        }
示例#4
0
    public override void ElevatorButtonClicked(GameObject gameObject, ButtonClickedEvent myEvent)
    {
        Debug.Log("Elevator button was clicked for floor: " + myEvent.floorNumber);

        stateMachine.SetState(ScriptableObject.CreateInstance("StateMoving") as StateMoving);

        stateMachine.targetFloor = myEvent.floorNumber;
    }
示例#5
0
        private IEnumerator VRCToolsSetup()
        {
            VRCModLogger.Log("[VRCTools] Initialising VRCTools");

            yield return(VRCUiManagerUtils.WaitForUiManagerInit());

            VRCModLogger.Log("[VRCTools] Overwriting login button event");
            VRCUiPageAuthentication loginPage = Resources.FindObjectsOfTypeAll <VRCUiPageAuthentication>().FirstOrDefault((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(() => {
                        VRCModNetworkManager.SetCredentials(GetTextFromUiInputField(loginPage.loginUserName) + ":" + GetTextFromUiInputField(loginPage.loginPassword));
                        bce?.Invoke();
                    });
                }
                else
                {
                    VRCModLogger.Log("[VRCTools] Unable to find login button in login page");
                }
            }
            else
            {
                VRCModLogger.Log("[VRCTools] Unable to find login page");
            }

            yield return(VRCModLoaderUpdater.CheckVRCModLoaderHash());

            try
            {
                VRCModNetworkStatus.Setup();
                ModConfigPage.Setup();
                ModdedUsersManager.Init();
            } catch (Exception ex)
            {
                VRCModLogger.Log("[VRCTools]" + ex.ToString());
            }
            VRCModLogger.Log("[VRCTools] Init done !");

            VRCUiPopupManagerUtils.GetVRCUiPopupManager().HideCurrentPopup();

            Initialised = true;

            if (!usingVRCMenuUtils)
            {
                VRCFlowManagerUtils.EnableVRCFlowManager();
            }

            VRCModNetworkManager.ConnectAsync();
        }
示例#6
0
        private IEnumerator Setup()
        {
            // TODO check for updates

            MelonModLogger.Log("Initialising VRCModNetwork");

            MelonModLogger.Log("Overwriting login button event");
            VRCUiPageAuthentication loginPage = Resources.FindObjectsOfTypeAll <VRCUiPageAuthentication>().FirstOrDefault((page) => page.gameObject.name == "LoginUserPass");

            MelonModLogger.Log("loginPage: " + loginPage);
            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(new Action(() =>
                    {
                        VRCModNetworkManager.SetCredentials(Uri.EscapeDataString(loginPage.loginUserName.field_String_2) + ":" + Uri.EscapeDataString(loginPage.loginPassword.field_String_2));
                        bce?.Invoke();
                    }));
                }
                else
                {
                    MelonModLogger.Log("Unable to find login button in login page");
                }
            }

            try
            {
                VRCModNetworkStatus.Setup();
                VRCModNetworkLogin.SetupVRCModNetworkLoginPage();
                //ModdedUsersManager.Init();
            }
            catch (Exception e)
            {
                MelonModLogger.LogError(e.ToString());
            }

            MelonModLogger.Log("Injecting VRCModNetwork login page");
            VRCModNetworkLogin.InjectVRCModNetworkLoginPage();

            MelonModLogger.Log("Connecting");
            yield return(VRCModNetworkManager.ConnectInit());

            MelonModLogger.Log("VRCModNetwork sucessfully initialized!");

            Initialized = true;
        }
示例#7
0
    public static void ButtonToZButton()
    {
        Transform target = Selection.transforms[0];

        Button[] bt = target.GetComponentsInChildren <Button>(true);
        foreach (var a in bt)
        {
            GameObject         g  = a.gameObject;
            ButtonClickedEvent et = a.onClick;
            GameObject.DestroyImmediate(a);
            g.gameObject.AddComponent <ZButton>().onClick = et;
        }
        Debug.Log("OK");
    }
示例#8
0
        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");
            }
        }
示例#9
0
 public static void AddListener(this ButtonClickedEvent clickEvent, Function funcToExecute)
 {
     clickEvent.AddListener(new Action(() => { funcToExecute(); }));
 }
示例#10
0
 public static void RemoveAllPersistantCalls(this ButtonClickedEvent clickEvent)
 {
     clickEvent.m_PersistentCalls.Clear();
 }
示例#11
0
 public static void RemovePersistantCall(this ButtonClickedEvent clickEvent, int index)
 {
     clickEvent.m_PersistentCalls.m_Calls.RemoveAt(index);
 }
示例#12
0
 public static void SetListener(this ButtonClickedEvent clickEvent, Function funcToExecute)
 {
     clickEvent.RemoveAllPersistantCalls();
     clickEvent.AddListener(funcToExecute);
 }
示例#13
0
        private IEnumerator VRCToolsSetup()
        {
            initialising = true;
            VRCModLogger.Log("[VRCTools] Initialising VRCTools");
            try
            {
                OculusUtils.ApplyPatches();
            }
            catch (Exception e)
            {
                VRCModLogger.Log("[VRCTools] Error while applying Oculus patches: " + e);
            }
            yield return(VRCUiManagerUtils.WaitForUiManagerInit());

            VRCModLogger.Log("[VRCTools] 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(() => {
                        VRCModNetworkManager.SetCredentials(GetTextFromUiInputField(loginPage.loginUserName) + ":" + GetTextFromUiInputField(loginPage.loginPassword));
                        bce?.Invoke();
                    });
                }
                else
                {
                    VRCModLogger.Log("[VRCTools] Unable to find login button in login page");
                }
            }
            else
            {
                VRCModLogger.Log("[VRCTools] Unable to find login page");
            }

            yield return(DependenciesDownloader.CheckDownloadFiles());

            yield return(VRCModLoaderUpdater.CheckVRCModLoaderHash());

            if (ModPrefs.GetBool("vrctools", "enablediscordrichpresence"))
            {
                DiscordManager.Init();
            }

            yield return(AvatarFavUpdater.CheckForAvatarFavUpdate());

            VRCModNetworkStatus.Setup();
            ModConfigPage.Setup();
            ModdedUsersManager.Init();

            /*
             * if (ApiCredentials.Load())
             * {
             *  VRCModLogger.Log("ApiCredentials.GetAuthTokenProviderUserId() => " + ApiCredentials.());
             *  if (!SecurePlayerPrefs.HasKey("vrcmnw_token_" + ApiCredentials.GetAuthTokenProviderUserId()))
             *  {
             *      ApiCredentials.Clear();
             *  }
             * }
             */
            ApiCredentials.Clear();


            VRCModLogger.Log("[VRCTools] Init done !");

            VRCUiPopupManagerUtils.GetVRCUiPopupManager().HideCurrentPopup();

            VRCFlowManagerUtils.EnableVRCFlowManager();

            initialising = false;
            Initialised  = true;

            VRCModNetworkManager.ConnectAsync();
        }
示例#14
0
        private IEnumerator VRCToolsSetup()
        {
            VRCModLogger.Log("[VRCTools] Initialising VRCTools");
            VRCModLogger.Log("[VRCTools] Current scene: " + SceneManager.GetActiveScene().name + "(index: " + SceneManager.GetActiveScene().buildIndex + ", path: " + SceneManager.GetActiveScene().path + ")");
            VRCModLogger.Log("[VRCTools] ModComponent Sibling index: " + ModComponent.Instance.transform.GetSiblingIndex());
            VRCModLogger.Log("[VRCTools] Root gameobjects:");
            foreach (GameObject g in SceneManager.GetActiveScene().GetRootGameObjects())
            {
                VRCModLogger.Log(" - " + g);
            }
            VRCModLogger.Log("[VRCTools] Call trace - THIS IS NOT AN ERROR:");
            VRCModLogger.Log(new System.Diagnostics.StackTrace().ToString());
            initializing = true;

            yield return(VRCUiManagerUtils.WaitForUiManagerInit());

            if (!HarmonyLoaded())
            {
                bool waitforpopup = true;
                VRCUiPopupManagerUtils.ShowPopup("VRCTools", "Missing library: Harmony. Please install it using the VRChat Mod Manager (see #how-to on discord.gg/rCqKSvR)", "Close game", () => Application.Quit(), "Ignore", () => waitforpopup = false);
                while (waitforpopup)
                {
                    yield return(null);
                }

                Initialized = true;
                if (!usingVRCMenuUtils)
                {
                    VRCFlowManagerUtils.EnableVRCFlowManager();
                }

                yield break;
            }

            VRCModLogger.Log("[VRCTools] Overwriting login button event");
            VRCUiPageAuthentication loginPage = Resources.FindObjectsOfTypeAll <VRCUiPageAuthentication>().FirstOrDefault((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(() => {
                        VRCModNetworkManager.SetCredentials(Uri.EscapeDataString(GetTextFromUiInputField(loginPage.loginUserName)) + ":" + Uri.EscapeDataString(GetTextFromUiInputField(loginPage.loginPassword)));
                        bce?.Invoke();
                    });
                }
                else
                {
                    VRCModLogger.Log("[VRCTools] Unable to find login button in login page");
                }
            }
            else
            {
                VRCModLogger.Log("[VRCTools] Unable to find login page");
            }

            yield return(VRCModLoaderUpdater.CheckVRCModLoaderHash());

            yield return(VRCToolsAutoUpdater.CheckAndUpdate());

            try
            {
                VRCModNetworkStatus.Setup();
                VRCModNetworkLogin.SetupVRCModNetworkLoginPage();
                ModConfigPage.Setup();
                ModdedUsersManager.Init();
            } catch (Exception ex)
            {
                VRCModLogger.Log("[VRCTools]" + ex.ToString());
            }

            VRCModLogger.Log("[VRCTools] Injecting VRCModNetwork login page");
            VRCModNetworkLogin.InjectVRCModNetworkLoginPage();

            yield return(VRCModNetworkManager.ConnectInit());

            VRCUiPopupManagerUtils.GetVRCUiPopupManager().HideCurrentPopup();

            Initialized  = true;
            initializing = false;

            if (!usingVRCMenuUtils)
            {
                VRCFlowManagerUtils.EnableVRCFlowManager();
            }
        }
示例#15
0
 public void OnStartPressed()
 {
     ButtonClickedEvent.Invoke();
 }
示例#16
0
 private void InvokeClicked(EventArgs e)
 {
     ButtonClickedEvent?.Invoke(this, e);
 }
示例#17
0
        private IEnumerator VRCToolsSetup()
        {
            VRCModLogger.Log("[VRCTools] Waiting for UI Manager...");
            yield return(VRCUiManagerUtils.WaitForUiManagerInit());

            VRCModLogger.Log("[VRCTools] UIManager initialised ! Resuming setup");

            VRCModLogger.Log("[VRCTools] 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(() => {
                        VRCModNetworkManager.SetCredentials(GetTextFromUiInputField(loginPage.loginUserName) + ":" + GetTextFromUiInputField(loginPage.loginPassword));
                        bce?.Invoke();
                    });
                }
                else
                {
                    VRCModLogger.Log("[VRCTools] Unable to find login button in login page");
                }
            }
            else
            {
                VRCModLogger.Log("[VRCTools] Unable to find login page");
            }

            VRCModLogger.Log("[VRCTools] CheckDownloadFiles");
            yield return(DependenciesDownloader.CheckDownloadFiles());

            VRCModLogger.Log("[VRCTools] CheckVRCModLoaderHash");
            yield return(VRCModLoaderUpdater.CheckVRCModLoaderHash());

            if (ModPrefs.GetBool("vrctools", "enablediscordrichpresence"))
            {
                VRCModLogger.Log("[VRCTools] DiscordManager Init");
                DiscordManager.Init();
            }
            VRCModLogger.Log("[VRCTools] CheckForPermissions");
            yield return(CheckForPermissions());

            VRCModLogger.Log("[VRCTools] VRCModNetworkStatus Setup");
            VRCModNetworkStatus.Setup();
            VRCModLogger.Log("[VRCTools] ModConfigPage Setup");
            ModConfigPage.Setup();
            VRCModLogger.Log("[VRCTools] ModdedUsersManager Init");
            ModdedUsersManager.Init();

            VRCUiManagerUtils.OnPageShown += (page) => {
                VRCModLogger.Log("[VRCTools] OnPageShown: " + page.screenType + " " + (string.IsNullOrEmpty(page.displayName) ? "" : page.displayName + " ") + "(" + page.GetType() + ")");
            };

            VRCModLogger.Log("[VRCTools] Init done !");

            VRCFlowManagerUtils.EnableVRCFlowManager();

            initialising = false;
            Initialised  = true;

            //DebugUtils.PrintHierarchy(VRCUiManagerUtils.GetVRCUiManager().transform.root, 0);
        }
示例#18
0
 protected override void Awake()
 {
     base.Awake();
     TSonClick = new ButtonClickedEvent();
 }
示例#19
0
 protected UIButton()
 {
     m_onDoubleClick = new ButtonClickedEvent();
     m_onLongPress   = new ButtonClickedEvent();
 }
示例#20
0
 public void OnClick()
 {
     ButtonClickedEvent?.Invoke(Timeline);
 }
示例#21
0
 protected virtual void OnConfirmButtonClicked(EventArgs e)
 {
     ButtonClickedEvent?.Invoke(this, e);
 }
示例#22
0
 protected override void OnDestroy()
 {
     base.OnDestroy();
     TSonClick.RemoveAllListeners();
     TSonClick = null;
 }
示例#23
0
        public void Initialize(string titleText, string descriptionText, FinishQustionEnum finishQustionEnum, bool useFocusUp, params ButtonInfo[] buttonInfos)
        {
            this.finishQustionEnum = finishQustionEnum;
            gameObject.SetActive(true);
            transform.SetAsLastSibling();

            _isFirstFocusable = false;

            if (buttonInfos == null || dialogsIndexDictonary == null)
            {
                return;
            }

            if (titleContainer != null)
            {
                titleContainer.SetText(titleText);
            }

            if (descriptionContainer != null)
            {
                descriptionContainer.SetText(descriptionText);
            }

            int length = buttonInfos.Length;

            if (!dialogsIndexDictonary.TryGetValue(length, out _buttonsContainer))
            {
                return;
            }

            foreach (var pair in dialogsIndexDictonary)
            {
                pair.Value.gameObject.SetActive(pair.Key == length);
            }

            for (int index = 0; index < buttonInfos.Length; index++)
            {
                if (index >= _buttonsContainer.childCount)
                {
                    continue;
                }

                Transform child = _buttonsContainer.GetChild(index);

                if (child == null)
                {
                    continue;
                }

                Button      button      = child.GetComponent <Button>();
                TextManager textManager = child.GetComponentInChildren <TextManager>();


                if (button == null || textManager == null)
                {
                    continue;
                }

                ButtonInfo buttonInfo = buttonInfos[index];

                var auxEvent = buttonInfo.unityEvent;
                auxEvent.AddInHeadNotPersistantListener(DisableObject);

                ButtonClickedEvent buttonClickEvent = new ButtonClickedEvent();

                var auxList = auxEvent.UnityActions;
                foreach (var unityEvent in auxList)
                {
                    buttonClickEvent.AddListener(unityEvent);
                }
                button.onClick = buttonClickEvent;


                textManager.SetText(buttonInfo.text);

                if (buttonInfo.isFirstFocus || length == 1 || (!_isFirstFocusable && index == length - 1))
                {
                    FocusManager.SetFocus(button.gameObject);
                    _isFirstFocusable = true;
                }
            }
        }
示例#24
0
 public UIButton()
 {
     this.onClick = new ButtonClickedEvent();
 }
示例#25
0
 public override void OnClick()
 {
     ButtonClickedEvent?.Invoke();
 }