示例#1
0
    protected void OnClientUnregisteredGameServer(NetworkMessage netMsg)
    {
        var msg = netMsg.ReadMessage <MasterServerMessages.UnregisteredGameServerMessage>();

        if (msg.resultCode == (short)MasterServerMessages.ResultCodes.UnregistrationSucceeded)
        {
            registeredRoom = RegisteredMasterServerRoom.Empty;
        }
        if (onUnregisteredHost != null)
        {
            onUnregisteredHost(msg);
        }
    }
示例#2
0
    public bool AddRoom(string roomId, MasterServerRoom room, out RegisteredMasterServerRoom registeredRoom)
    {
        registeredRoom = RegisteredMasterServerRoom.Empty;
        if (rooms.ContainsKey(roomId))
        {
            return(false);
        }

        rooms[roomId]                    = room;
        registeredRoom                   = new RegisteredMasterServerRoom();
        registeredRoom.roomId            = room.roomId;
        registeredRoom.gameType          = room.gameType;
        registeredRoom.title             = room.title;
        registeredRoom.scene             = room.scene;
        registeredRoom.passwordProtected = !string.IsNullOrEmpty(room.password);
        registeredRoom.maxConnections    = room.maxConnections;
        return(true);
    }
示例#3
0
    public RegisteredMasterServerRoom[] GetRegisteredRooms()
    {
        var roomValues = rooms.Values;
        var result     = new RegisteredMasterServerRoom[roomValues.Count];
        var i          = 0;

        foreach (var room in roomValues)
        {
            var registeredRoom = new RegisteredMasterServerRoom();
            registeredRoom.roomId            = room.roomId;
            registeredRoom.gameType          = room.gameType;
            registeredRoom.title             = room.title;
            registeredRoom.scene             = room.scene;
            registeredRoom.passwordProtected = !string.IsNullOrEmpty(room.password);
            registeredRoom.maxConnections    = room.maxConnections;
            result[i] = registeredRoom;
            ++i;
        }
        return(result);
    }
示例#4
0
    protected void OnClientRegisteredGameServer(NetworkMessage netMsg)
    {
        var msg = netMsg.ReadMessage <MasterServerMessages.RegisteredGameServerMessage>();

        if (msg.resultCode == (short)MasterServerMessages.ResultCodes.RegistrationSucceeded)
        {
            registeredRoom = msg.registeredRoom;
            var gameNetworkManager = NetworkManager.singleton;
            if (startGameServerAsHost)
            {
                gameNetworkManager.StartHost();
            }
            else
            {
                gameNetworkManager.StartServer();
            }
        }
        if (onRegisteredHost != null)
        {
            onRegisteredHost(msg);
        }
    }