Пример #1
0
    public void requestSceneChange(int sceneNumber)
    {
        doneWaiting = false;
        SceneManager.LoadScene(sceneNumber);
        RequestSceneChangeMessage msg = new RequestSceneChangeMessage();

        msg.serverSpeaking = true;
        msg.sceneNumber    = sceneNumber;
        clientConfirmation = new HashSet <int>();
        RegisterHandler(RequestSceneChangeMessage.id, OnReceivedSceneChangeConfirmation);
        SendMessageToAllClients(RequestSceneChangeMessage.id, msg);
    }
Пример #2
0
    public void OnReceivedSceneChangeConfirmation(NetworkMessage netMsg)
    {
        RequestSceneChangeMessage msg = netMsg.ReadMessage <RequestSceneChangeMessage>();

        if (!msg.serverSpeaking && msg.done)
        {
            clientConfirmation.Add(netMsg.conn.connectionId);
        }
        if (clientConfirmation.Count == registeredDevices.Count)
        {
            doneWaiting = true;
        }
    }
Пример #3
0
    public void OnReceivedSceneChangeMessage(NetworkMessage netMsg)
    {
        myClient.Disconnect();
        RequestSceneChangeMessage msg = netMsg.ReadMessage <RequestSceneChangeMessage>();

        if (msg.serverSpeaking)
        {
            SceneManager.LoadScene(msg.sceneNumber + 1);
            RequestSceneChangeMessage msgSend = new RequestSceneChangeMessage();
            msgSend.serverSpeaking = false;
            msgSend.done           = true;
            SendMessage(RequestSceneChangeMessage.id, msgSend);
        }
    }