public void CreateRoom(Multiplayer.RoomButton button) { if (isMultiplayer.value) { if (!isConnected.value) { // TODO: add logic for when not connected } else { RoomOptions roomOptions = new RoomOptions() { MaxPlayers = 5, CustomRoomPropertiesForLobby = new string[] { "scene" }, CustomRoomProperties = new ExitGames.Client.Photon.Hashtable { { "scene", button.sceneName } } }; PhotonNetwork.CreateRoom(null, roomOptions, TypedLobby.Default); } } else // single player { Multiplayer.Room room = ScriptableObject.CreateInstance <Multiplayer.Room> (); room.sceneName = button.sceneName; GameManagers.GetResourcesManager().currentRoom.SetRoom(room); } isInGame = true; }
public void LoadCurrentSceneActual(OnSceneLoaded callback = null) { Multiplayer.Room room = GameManagers.GetResourcesManager().currentRoom.value; if (!isLoading) { isLoading = true; StartCoroutine(LoadScene(room.sceneName, onSceneLoadedCallback)); } }
public override void OnCreatedRoom() { Multiplayer.Room room = ScriptableObject.CreateInstance <Multiplayer.Room> (); object sceneName = null; PhotonNetwork.room.CustomProperties.TryGetValue("scene", out sceneName); room.sceneName = (string)sceneName; room.roomName = PhotonNetwork.room.Name; GameManagers.GetResourcesManager().currentRoom.value = room; Debug.Log("MultiplayerLauncher::OnCreatedRoom::Complete"); }
public void LoadCurrentRoom() { if (isConnected) { MultiplayerManager.Singleton.BroadcastSceneChange(); } else { Multiplayer.Room room = GameManagers.GetResourcesManager().currentRoom.value; if (!isLoading) { isLoading = true; StartCoroutine(LoadScene(room.sceneName)); } } }