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