////TODO: pin position or parent to requester. //public void OpenProgressMeter(Transform requester = null) //{ // if (navUI) // CloseNavInterface(); // if (requester == null) // { // AvatarWidget playerAvatar = FindObjectsOfType<AvatarWidget>().FirstOrDefault(avatar => avatar.gameObject.activeInHierarchy); // if (playerAvatar) // requester = playerAvatar.head; // else // requester = Camera.main.transform; // } // Vector3 uiPos = requester.position + (Vector3.Scale(requester.forward, new Vector3(1, 0, 1)).normalized * uiOffset); // Quaternion uiRot = Quaternion.LookRotation(requester.position - uiPos, Vector3.up); // uiRot = Quaternion.Euler(0, uiRot.eulerAngles.y, 0); // if (!progressMeter && progressMeterPrefab) // { // var pmgo = Instantiate(progressMeterPrefab, uiPos, uiRot) as GameObject; // if (pmgo) // progressMeter = pmgo.GetComponent<ProgressMeterWidget>(); // pmgo.transform.SetParent(requester.root); // } //} //public void CloseProgressMeter() //{ // if (progressMeter) // Destroy(progressMeter.gameObject); //} //public void SetProgressMeterText(string text) //{ // if (progressMeter) // progressMeter.Text = text; //} //public void SetProgressMeterValue(float value) //{ // if (progressMeter) // progressMeter.Value = value; //} #endregion #region UserAuthentication public void Login(string userName, string password) { m_currentUser = new User(userName); CurrentUser.FetchInfo(); OnUserChanged.Invoke(); RestManager.Request.Login(CurrentUser.name, password, OnLoginResponseReceived); }
void InitializeUserEntries() { if (UserSession.Instance.Users == null) { DisplayState = LoginDisplayState.Login; } else { if (UserSession.Instance.Users.Count == 1) { //UserSession.Instance.SetCurrentUser(UserSession.Instance.Users[0]); Close(); return; } foreach (Transform child in UserPanel.transform) { Destroy(child.gameObject); } var defaultIndex = 0; // UserSession.Instance.GetDefaultUserIndex(); var toggleGroup = UserPanel.GetComponent <ToggleGroup>(); var UserList = UserSession.Instance.Users; //foreach (AllUsers user in UserList) // foreach loops don't play nice with variables in delegates as UnityEvent listeners for (int u = 0; u < UserList.Count; u++) { Spaces.Core.User user = UserList[u]; GameObject userEntry = Instantiate(UserEntryPrefab); Toggle userToggle = userEntry.GetComponent <Toggle>(); Text label = userEntry.GetComponentInChildren <Text>(); userEntry.transform.SetParent(UserPanel.transform, false); if (label) { label.text = user.name; } if (userToggle) { userToggle.onValueChanged.AddListener(delegate { User_Click(userToggle, user); }); userToggle.group = toggleGroup; if (u == defaultIndex) { userToggle.isOn = true; } } } } }
private void LogoutRequestResponse(bool error, RestLogoutResponseData response) { if (error) { Debug.Log("[Logout] Request failed."); } else { Debug.Log("[Logout] Request completed successfully."); CurrentUser.SetToken(null); m_currentUser = null; } }
void User_Click(Toggle toggle, Spaces.Core.User user) { if (!UserSession.Instance.Users.Contains(user) || !toggle.isOn) { return; } if (Debug.isDebugBuild) { Debug.Log(this.name + " A user by the name of " + user.name + " just got clicked!"); } //UserSession.Instance.SetCurrentUser(user); }