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); }
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; } }
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); } }