// Token: 0x06001789 RID: 6025 RVA: 0x0006663C File Offset: 0x0006483C
        private static void AddUser(Player inputPlayer, UserProfile userProfile)
        {
            if (LocalUserManager.UserExists(inputPlayer))
            {
                return;
            }
            int       firstAvailableId = LocalUserManager.GetFirstAvailableId();
            LocalUser localUser        = new LocalUser
            {
                inputPlayer = inputPlayer,
                id          = firstAvailableId,
                userProfile = userProfile
            };

            LocalUserManager.localUsersList.Add(localUser);
            userProfile.OnLogin();
            MPEventSystem.FindByPlayer(inputPlayer).localUser = localUser;
            if (LocalUserManager.onUserSignIn != null)
            {
                LocalUserManager.onUserSignIn(localUser);
            }
            if (LocalUserManager.onLocalUsersUpdated != null)
            {
                LocalUserManager.onLocalUsersUpdated();
            }
        }
Esempio n. 2
0
 // Token: 0x06001235 RID: 4661 RVA: 0x00059938 File Offset: 0x00057B38
 private void Start()
 {
     if (base.isLocalPlayer)
     {
         LocalUser localUser = LocalUserManager.FindLocalUser((int)base.playerControllerId);
         if (localUser != null)
         {
             localUser.LinkNetworkUser(this);
         }
         if (SceneManager.GetActiveScene().name == "lobby")
         {
             this.CallCmdSetBodyPreference(BodyCatalog.FindBodyIndex("CommandoBody"));
         }
     }
     if (Run.instance)
     {
         Run.instance.OnUserAdded(this);
     }
     if (NetworkClient.active)
     {
         this.SyncLunarCoinsToServer();
         this.SendServerUnlockables();
     }
     NetworkUser.NetworkUserGenericDelegate onPostNetworkUserStart = NetworkUser.OnPostNetworkUserStart;
     if (onPostNetworkUserStart == null)
     {
         return;
     }
     onPostNetworkUserStart(this);
 }
        // Token: 0x0600178E RID: 6030 RVA: 0x00066778 File Offset: 0x00064978
        private static void RemoveUser(Player inputPlayer)
        {
            int num = LocalUserManager.FindUserIndex(inputPlayer);

            if (num != -1)
            {
                LocalUserManager.RemoveUser(num);
            }
        }
            // Token: 0x060017A1 RID: 6049 RVA: 0x00066C5C File Offset: 0x00064E5C
            public override string GetString()
            {
                int num = LocalUserManager.FindUserIndex(LocalUserManager.GetRewiredMainPlayer());

                if (num == -1)
                {
                    return("");
                }
                return(LocalUserManager.localUsersList[num].userProfile.fileName);
            }
 // Token: 0x06001790 RID: 6032 RVA: 0x000667FC File Offset: 0x000649FC
 public static void ClearUsers()
 {
     if (!LocalUserManager.IsUserChangeSafe())
     {
         Debug.LogError("Cannot call LocalUserManager.SetLocalUsers at this time, user login changes are not safe at this time.");
         return;
     }
     for (int i = LocalUserManager.localUsersList.Count - 1; i >= 0; i--)
     {
         LocalUserManager.RemoveUser(i);
     }
 }
        // Token: 0x06001788 RID: 6024 RVA: 0x0006660C File Offset: 0x0006480C
        private static int GetFirstAvailableId()
        {
            int i;

            for (i = 0; i < LocalUserManager.localUsersList.Count; i++)
            {
                if (LocalUserManager.FindUserIndex(i) == -1)
                {
                    return(i);
                }
            }
            return(i);
        }
            // Token: 0x060017A0 RID: 6048 RVA: 0x00066C1C File Offset: 0x00064E1C
            public override void SetString(string newValue)
            {
                if (LocalUserManager.readOnlyLocalUsersList.Count > 0)
                {
                    Debug.Log("Can't change user_profile_main while there are users signed in.");
                    return;
                }
                UserProfile profile = UserProfile.GetProfile(newValue);

                if (profile != null && !profile.isCorrupted)
                {
                    LocalUserManager.AddMainUser(profile);
                }
            }
        // Token: 0x06001791 RID: 6033 RVA: 0x00066838 File Offset: 0x00064A38
        private static Player ListenForStartSignIn()
        {
            IList <Player> players = ReInput.players.Players;

            for (int i = 0; i < players.Count; i++)
            {
                Player player = players[i];
                if (!(player.name == "PlayerMain") && !LocalUserManager.UserExists(player) && player.GetButtonDown("Start"))
                {
                    return(player);
                }
            }
            return(null);
        }
        // Token: 0x0600178F RID: 6031 RVA: 0x00066798 File Offset: 0x00064998
        private static void RemoveUser(int userIndex)
        {
            LocalUser localUser = LocalUserManager.localUsersList[userIndex];

            if (LocalUserManager.onUserSignOut != null)
            {
                LocalUserManager.onUserSignOut(localUser);
            }
            localUser.userProfile.OnLogout();
            MPEventSystem.FindByPlayer(localUser.inputPlayer).localUser = null;
            LocalUserManager.localUsersList.RemoveAt(userIndex);
            if (LocalUserManager.onLocalUsersUpdated != null)
            {
                LocalUserManager.onLocalUsersUpdated();
            }
        }
 // Token: 0x0600178B RID: 6027 RVA: 0x000666E0 File Offset: 0x000648E0
 public static void SetLocalUsers(LocalUserManager.LocalUserInitializationInfo[] initializationInfo)
 {
     if (LocalUserManager.localUsersList.Count > 0)
     {
         Debug.LogError("Cannot call LocalUserManager.SetLocalUsers while users are already signed in!");
         return;
     }
     if (!LocalUserManager.IsUserChangeSafe())
     {
         Debug.LogError("Cannot call LocalUserManager.SetLocalUsers at this time, user login changes are not safe at this time.");
         return;
     }
     if (initializationInfo.Length == 1)
     {
         initializationInfo[0].player = LocalUserManager.GetRewiredMainPlayer();
     }
     for (int i = 0; i < initializationInfo.Length; i++)
     {
         LocalUserManager.AddUser(initializationInfo[i].player, initializationInfo[i].profile);
     }
 }
        private static void CCTestSplitscreen(ConCommandArgs args)
        {
            int num = 2;
            int value;

            if (args.Count >= 1 && TextSerialization.TryParseInvariant(args[0], out value))
            {
                num = Mathf.Clamp(value, 1, 4);
            }
            if (!NetworkClient.active)
            {
                LocalUserManager.ClearUsers();
                LocalUserManager.LocalUserInitializationInfo[] array = new LocalUserManager.LocalUserInitializationInfo[num];
                for (int i = 0; i < num; i++)
                {
                    array[i] = new LocalUserManager.LocalUserInitializationInfo
                    {
                        player  = ReInput.players.GetPlayer(2 + i),
                        profile = UserProfile.CreateGuestProfile()
                    };
                }
                LocalUserManager.SetLocalUsers(array);
            }
        }
 private static void CCRemoveAllLocalUsers(ConCommandArgs args)
 {
     LocalUserManager.ClearUsers();
 }
 // Token: 0x0600178D RID: 6029 RVA: 0x0006676A File Offset: 0x0006496A
 private static void AddMainUser(UserProfile userProfile)
 {
     LocalUserManager.AddUser(LocalUserManager.GetRewiredMainPlayer(), userProfile);
 }