예제 #1
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;
                        }
                    }
                }
            }
        }
예제 #2
0
 public void UserRegistration()
 {
     DisplayState = LoginDisplayState.Registration;
 }
예제 #3
0
 private void UpdateStatus()
 {
     DisplayState = LoginDisplayState.Login;//.Registration;
 }
예제 #4
0
 void UpdateUserMode()
 {
     DisplayState = LoginDisplayState.Select;
     InitializeUserEntries();
 }