Beispiel #1
0
    public void OnCreateNewRoom(string type)
    {
        string newRoomName;
        int    index     = 0;
        byte   numPlayer = 0;
        string levelName = "";

        if (type == "group")
        {
            numPlayer = 4;
            levelName = "GroupRoom";

            index = listGroupData.Count + 1;

            for (int i = 0; i < listGroupData.Count; i++)
            {
                if (listGroupData[i].PlayerCount < numPlayer)
                {
                    index = i;
                }
            }
        }
        else if (type == "dual")
        {
            index     = listDualData.Count + 1;
            numPlayer = 2;
            levelName = "DualRoom";

            for (int i = 0; i < listDualData.Count; i++)
            {
                if (listDualData[i].PlayerCount < numPlayer)
                {
                    index = i;
                }
            }
        }
        newRoomName = type + index;
        PopupManager.DisableCurrentDialog();
        if (PhotonNetwork.JoinOrCreateRoom(newRoomName, new RoomOptions()
        {
            IsVisible = true, IsOpen = true, MaxPlayers = numPlayer
        }, null))
        {
            Debug.Log("Send create new room successfully");
            FBPoolManager.instance.returnAllObjectsToPool();
            PhotonNetwork.LeaveRoom();
            PhotonNetwork.LoadLevel(levelName);
        }
    }
 // Update is called once per frame
 void Update()
 {
     if (GvrControllerInput.AppButtonDown)
     {
         Player.instance.teleportController.OnTeleportClear();
         if (PopupManager.IsValidShowPopup())
         {
             PopupManager.ShowDialog(inventoryUI.name, -1);
         }
         else
         {
             //if is not valid close current popup
             PopupManager.DisableCurrentDialog();
         }
     }
 }