using System.Collections; using System.Collections.Generic; using UnityEngine; using Fusion; using System.Linq; using System.Threading.Tasks; using Fusion.Sockets; using System; public class NetworkRunnerHandler : MonoBehaviour { //public NetworkRunner networkRunnerPrefab; //NetworkRunner networkRunner; //private void Awake() //{ // NetworkRunner networkRunnerInScene = FindObjectOfType(); // if (networkRunnerInScene != null) // { // networkRunner = networkRunnerInScene; // } //} //private void Start() //{ // //if (networkRunner == null) // //{ // // networkRunner = Instantiate(networkRunnerPrefab); // // networkRunner.name = "Network Runner"; // // var clientTask=InitializeNetworkRunner() // // } //} //public void StartHostMigration(HostMigrationToken hostMigrationToken) //{ // networkRunner=Instantiate(networkRunnerPrefab); // networkRunner.name = "Network Runner - Migrated"; // var clientTask=InitializeNetworkRunnerHostMigration(networkRunner,hostMigrationToken); //} //protected virtual Task InitializeNetworkRunnerHostMigration(NetworkRunner runner,HostMigrationToken hostMigrationToken) //{ // var sceneManager = GetSceneManager(runner); // runner.ProvideInput = true; // return runner.StartGame(new StartGameArgs // { // SceneManager = sceneManager, // HostMigrationToken = hostMigrationToken, // HostMigrationResume = HostMigrationResume, // }); //} //INetworkSceneManager GetSceneManager(NetworkRunner runner) //{ // var sceneManager=runner.GetComponents(typeof(MonoBehaviour)).OfType().FirstOrDefault(); // if (sceneManager == null) // { // sceneManager=runner.gameObject.AddComponent(); // } // return sceneManager; //} //protected virtual Task InitializeNetworkRunner(NetworkRunner runner, GameMode gameMode,string sessionName, byte[] connectionToken, NetAddress address, SceneRef scene, Action action) //{ // var sceneManager=GetSceneManager(runner); // runner.ProvideInput = true; // return runner.StartGame(new StartGameArgs // { // GameMode=gameMode, // Address=address, // Scene=scene, // SessionName=sessionName, // SceneManager=sceneManager, // CustomLobbyName="OurLobbyId", // ConnectionToken=connectionToken, // }); //} }