Esempio n. 1
0
    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);
        });
    }
Esempio n. 2
0
    public void AddSelfToLobby(string gameName, int port, MatchType matchType, int maxPlayers)
    {
        AddServerData data = new AddServerData();

        data.port       = port;
        data.gameName   = gameName;
        data.matchType  = matchType;
        data.maxPlayers = maxPlayers;
        LobbyClientBase.instance.networkClient.Send((short)CustomMessageTypes.AddServer, data);
    }