@namespace LuckerParty.UI @inherits PanelComponent @using System @using System.Collections.Immutable @implements NetworkManager.IClientEvent
This is the Lobby
@foreach ( var client in _clients ) {
@client.Name
}
@code { private ImmutableList _clients; private NetworkManager _networkManager; protected override void OnStart() { base.OnStart(); _networkManager = Scene.GetComponentInChildren(); UpdateClients(); } void NetworkManager.IClientEvent.OnConnected( Client client ) { UpdateClients(); } void NetworkManager.IClientEvent.OnDisconnected( Client client ) { UpdateClients(); } private void UpdateClients() { _clients = _networkManager.Clients.Sort( ( clientA, clientB ) => DateTimeOffset.Compare( clientA.ConnectionTime, clientB.ConnectionTime ) ); } /// /// the hash determines if the system should be rebuilt. If it changes, it will be rebuilt /// protected override int BuildHash() { return HashCode.Combine( _clients ); } }