Пример #1
0
        ////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);
        }
Пример #2
0
        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;
                        }
                    }
                }
            }
        }
Пример #3
0
 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;
     }
 }
Пример #4
0
        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);
        }