void Awake() { servers = new Dictionary <GameServerInfo, NetworkConnection>(); NetworkServer.RegisterHandler((short)CustomMessageTypes.AddServer, netMsg => { print("received add server request"); AddServerData receivedData = netMsg.ReadMessage <AddServerData>(); GameServerInfo serverInfo = new GameServerInfo(); serverInfo.maxPlayers = receivedData.maxPlayers; serverInfo.gameName = receivedData.gameName; serverInfo.matchType = receivedData.matchType; serverInfo.ip = netMsg.conn.address; serverInfo.port = receivedData.port; serverInfo.GenerateAndSetUniqueID(); AddServer(serverInfo, netMsg.conn); NetworkServer.SendToClient(netMsg.conn.connectionId, (short)CustomMessageTypes.SetServerInfoOnGameServer, serverInfo); }); NetworkServer.RegisterHandler((short)CustomMessageTypes.RemoveServer, netMsg => { RemoveServerData receiveData = netMsg.ReadMessage <RemoveServerData>(); RemoveServer(receiveData.serverID); }); NetworkServer.RegisterHandler((short)CustomMessageTypes.UpdateServerPlayerCount, netMsg => { UpdatePlayerCountData receivedData = netMsg.ReadMessage <UpdatePlayerCountData>(); UpdatePlayerCount(receivedData.serverID, receivedData.currentPlayerCount); }); }
public void UpdatePlayerCount(int playerCount) { if (myInfo != null) { UpdatePlayerCountData data = new UpdatePlayerCountData(); data.serverID = myInfo.id; data.currentPlayerCount = playerCount; LobbyClientBase.instance.networkClient.Send((short)CustomMessageTypes.UpdateServerPlayerCount, data); } }