public override void handleMessage(QTMessage message)
    {
        switch (message.messageType)
        {
        case QTMessage.type.WORKER_READY: {
            MasterServerQTClient qtRemoteClient     = (MasterServerQTClient)client;
            WorkerReadyMessage   workerReadyMessage = (WorkerReadyMessage)message;

            qtRemoteClient.remoteType = QTClient.clientType.WORKER_SERVER;
            MasterServerWorker worker = MasterServerManager.instance.workersManager.workers[workerReadyMessage.id];

            RoomInfoMessage roomInfoMessage = new RoomInfoMessage();
            roomInfoMessage.room = worker.room;
            qtRemoteClient.sendMessage(roomInfoMessage);

            worker.onWorkerReady();
            break;
        }

        case QTMessage.type.WORKER_INFO: {
            MasterServerQTClient qtRemoteClient    = (MasterServerQTClient)client;
            WorkerInfoMessage    workerInfoMessage = (WorkerInfoMessage)message;
            MasterServerWorker   worker            = MasterServerManager.instance.workersManager.workers[workerInfoMessage.id];

            worker.room.ip = workerInfoMessage.ip;

            QTDebugger.instance.debug(QTDebugger.debugType.BASE, "Recieved info from Worker(" + worker.room.id + ")...");
            break;
        }
        }
    }
    public override void handleConnects()
    {
        while (true)
        {
            TcpClient            tcpClient = manager.server.AcceptTcpClient();
            MasterServerQTClient client    = new MasterServerQTClient(manager, tcpClient);
            client.onConnectionClosed += manager.onClientDisconnected;

            manager.onClientConnected(client);
        }
    }
    public override void handleMessage(QTMessage message)
    {
        switch (message.messageType)
        {
        case QTMessage.type.WORKER_DEBUG:
            MasterServerQTClient qtRemoteClient = (MasterServerQTClient)client;
            WorkerDebugMessage   debugMessage   = (WorkerDebugMessage)message;

            QTDebugger.instance._debug(debugMessage.debugType, QTDebugger.debugType.NETWORK_WORKER, debugMessage.message);
            break;
        }
    }
    public override void handleMessage(QTMessage message)
    {
        switch (message.messageType)
        {
        case QTMessage.type.REQUEST_ROOMS:
            RequestRoomsMessage  requestMessage = (RequestRoomsMessage)message;
            MasterServerQTClient qtRemoteClient = (MasterServerQTClient)client;

            RoomsMessage roomsMessage = new RoomsMessage(requestMessage);
            roomsMessage.rooms = MasterServerManager.instance.workersManager.getRooms();
            qtRemoteClient.sendMessage(roomsMessage);
            break;
        }
    }
Example #5
0
    public override void handleMessage(QTMessage message)
    {
        switch (message.messageType)
        {
        case QTMessage.type.REQUEST_NEW_INSTANCE:
            MasterServerQTClient      qtRemoteClient = (MasterServerQTClient)client;
            RequestNewInstanceMessage requestMessage = (RequestNewInstanceMessage)message;

            MasterServerWorker worker = MasterServerManager.instance.workersManager.spawnWorker(Guid.NewGuid().ToString());

            InstanceMessage instanceMessage = new InstanceMessage(requestMessage);
            instanceMessage.room  = worker.room;
            worker.onWorkerReady += () => {
                sendRequestInstanceResponse(qtRemoteClient, instanceMessage);
            };
            break;
        }
    }
Example #6
0
 public void sendRequestInstanceResponse(MasterServerQTClient qtRemoteClient, InstanceMessage message)
 {
     qtRemoteClient.sendMessage(message);
 }