public void Connected() { client.autoReconnect = true; VRCModLogger.Log("Client autoReconnect set to true"); State = ConnectionState.CONNECTED; VRCModNetworkStatus.UpdateNetworkStatus(); OnConnected?.Invoke(); }
public override void OnUpdate() { if (!Initialized) { return; } VRCModNetworkManager.Update(); VRCModNetworkStatus.Update(); //ModdedUsersManager.Update(); }
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; }
public void ConnectionFailed(string error) { State = ConnectionState.DISCONNECTED; VRCModNetworkStatus.UpdateNetworkStatus(); }
public void ConnectionStarted() { State = ConnectionState.CONNECTING; VRCModNetworkStatus.UpdateNetworkStatus(); }