/** * Setup event listeners for the server-mode. */ private void SetupServerEventListeners(ICEventfulNetworkManager networkManager) { networkManager.ClientConnect.RemoveAllListeners(); networkManager.ClientDisconnect.RemoveAllListeners(); networkManager.ServerConnect.RemoveAllListeners(); networkManager.ServerDisconnect.RemoveAllListeners(); networkManager.ServerReady.RemoveAllListeners(); networkManager.ClientConnect.AddListener((client) => { UpdateParticipantList(); }); networkManager.ClientDisconnect.AddListener((client) => { UpdateParticipantList(); }); networkManager.ServerConnect.AddListener((client) => { UpdateParticipantList(); }); networkManager.ServerDisconnect.AddListener((client) => { UpdateParticipantList(); }); networkManager.ServerReady.AddListener((client) => { UpdateParticipantList(); }); }
/** * Start the experiment (by changing the scene) */ public void StartExperiment(ICExperiment experiment) { if (!experiment) { return; } lobby.StopBroadcast(); // Switch back to neutral panel SwitchToPanel(experimentBrowser.gameObject); currentState = State.ExperimentBrowser; // Change level ICEventfulNetworkManager networkManager = ICNetworkUtilities.GetNetworkManager(); networkManager.ServerChangeScene(experiment.sceneName); }
/** * Returns an instance of the ICEventfulNetworkManager. */ public static ICEventfulNetworkManager GetNetworkManager() { GameObject networkManagerObject = GameObject.Find("NetworkManager"); if (!networkManagerObject) { networkManagerObject = new GameObject(); } ICEventfulNetworkManager networkManager = networkManagerObject.GetComponent <ICEventfulNetworkManager>(); if (!networkManager) { networkManager = networkManagerObject.AddComponent <ICEventfulNetworkManager>(); networkManager.dontDestroyOnLoad = true; } return(networkManager); }