コード例 #1
0
ファイル: ServerList.cs プロジェクト: lazalong/MidNight
    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);
        });
    }