Example #1
0
        void RefreshOnlinePlayerList(AdminPlayersList playerList)
        {
            foreach (var p in playerList.players)
            {
                var index = playerEntries.FindIndex(x => x.PlayerData.uid == p.uid);
                if (index != -1)
                {
                    playerEntries[index].UpdateButton(p, SelectPlayerInList, masterNotification, disableButtonInteract);
                }
                else
                {
                    if (showAdminsOnly)
                    {
                        if (!p.isAdmin)
                        {
                            continue;
                        }
                    }
                    var e     = Instantiate(playerEntryPrefab, playerListContent);
                    var entry = e.GetComponent <AdminPlayerEntry>();
                    entry.UpdateButton(p, SelectPlayerInList, masterNotification, disableButtonInteract);
                    playerEntries.Add(entry);
                    index = playerEntries.Count - 1;
                }

                if (!p.isOnline)
                {
                    playerEntries[index].transform.SetAsLastSibling();
                }
            }

            Search();

            if (SelectedPlayer == null)
            {
                if (playerEntries.Count == 0)
                {
                    return;
                }

                SelectPlayerInList(playerEntries[0]);
            }
            else
            {
                if (gameObject.activeInHierarchy)
                {
                    SelectedPlayer.pendingMsgNotification.ClearAll();
                    if (masterNotification != null)
                    {
                        masterNotification.RemoveNotification(SelectedPlayer.PlayerData.uid);
                    }
                }
            }
        }
Example #2
0
		public void ReceiveUpdatedPlayerList(AdminPlayersList playerList)
		{
			RefreshOnlinePlayerList(playerList);
		}