CreateRoom() public static method

Creates a room with given name but fails if this room is existing already.
If you don't want to create a unique room-name, pass null or "" as name and the server will assign a roomName (a GUID as string). Call this only on the master server. Internally, the master will respond with a server-address (and roomName, if needed). Both are used internally to switch to the assigned game server and roomName. PhotonNetwork.autoCleanUpPlayerObjects will become this room's AutoCleanUp property and that's used by all clients that join this room.
public static CreateRoom ( string roomName ) : void
roomName string Unique name of the room to create.
return void
コード例 #1
0
    public void btn_crearSalaCustom_click()
    {
        string metodo = "btn_crearSalaCustom_click";

        Debug.Log(metodo + "INICIO");

        string NombreSala      = if_nombreSala.text;
        string NumeroJugadores = dropdown_numeroJugadores.options[dropdown_numeroJugadores.value].text;

        if (string.IsNullOrEmpty(NombreSala))
        {
            NombreSala = "Sala " + Random.Range(1000, 10000);
        }

        RoomOptions OpcioneDeSala = new RoomOptions();

        OpcioneDeSala.MaxPlayers = (byte)int.Parse(NumeroJugadores);

        Debug.Log(OpcioneDeSala.MaxPlayers);

        PhotonNetwork.CreateRoom(NombreSala, OpcioneDeSala);//Requerido importar P.RealTime para confirgurar las opciones     -  Aqui se puede añadir expectador
        Debug.Log(metodo + "FIN");
    }
コード例 #2
0
        public void CreateGame()
        {
            if (GameManager.instance.IsGameplayScene())
            {
                MPLogger.Log("Creating room...");

                RoomOptions options = new RoomOptions()
                {
                    CustomRoomProperties = new ExitGames.Client.Photon.Hashtable()
                    {
                        { "IsPublic", true },
                        { "Name", PhotonNetwork.playerName },
                    },
                    CustomRoomPropertiesForLobby = new string[] { "IsPublic", "Name" }
                };

                PhotonNetwork.CreateRoom(new Guid().ToString(), options, PhotonNetwork.lobby);
            }
            else
            {
                MPLogger.Log("Tried to create room, but we weren't in the game!");
            }
        }
コード例 #3
0
    public void OnClick()
    {
        string roomName = InputFieldRoomName.roomName;

        RoomInfo[] allRooms = PhotonNetwork.GetRoomList();

        foreach (RoomInfo room in allRooms)
        {
            if (room.Name.Equals(roomName))
            {
                PhotonNetwork.JoinRoom(roomName);
                return;
            }
        }
        // ルームオプションを作成
        RoomOptions roomOptions = new RoomOptions();

        roomOptions.MaxPlayers = 2;
        roomOptions.IsOpen     = true;
        roomOptions.IsVisible  = true;

        PhotonNetwork.CreateRoom(roomName, roomOptions, null);
    }
コード例 #4
0
 /// <summary>
 /// Setup a 1v1 regular match.
 /// </summary>
 public void onevone()
 {
     if (PhotonNetwork.connectedAndReady && PhotonNetwork.playerName != null && PhotonNetwork.playerName != "" && GameObject.Find("MainMenuHolder").GetComponent <MainMenuValueHolder>().currentlyloading == false)
     {
         Loading.SetActive(true);
         ExitGames.Client.Photon.Hashtable customRoomPropertiesToSet = new ExitGames.Client.Photon.Hashtable()
         {
             { "Fr", "false" }, { "Un", PhotonNetwork.playerName }, { "st", "in Lobby" }, { "3v3", "No" }, { "team1a", 400 }, { "team1b", 400 }, { "team1c", 400 }, { "team2a", 400 }, { "team2b", 400 }, { "team2c", 400 }, { "GameMode", 0 }, { "Bots", true }, { "Botdif", 0 }, { "sky", 0 }, { "Scenery", 0 }
         };
         string[] customlobby = new string[4] {
             "Fr", "Un", "st", "3v3"
         };
         //    PhotonNetwork.FindFriends(getfriendslist());
         PhotonNetwork.CreateRoom(roomName, new RoomOptions()
         {
             MaxPlayers = 2, IsOpen = true, IsVisible = true, PublishUserId = true, CustomRoomProperties = customRoomPropertiesToSet, CustomRoomPropertiesForLobby = customlobby
         }, null);
         PhotonNetwork.automaticallySyncScene = false;
         PhotonNetwork.LoadLevel(1);
         Debug.Log(PhotonNetwork.room.CustomProperties);
         Debug.Log("1v1");
     }
 }
コード例 #5
0
    /// <summary>
    /// creates a new room numbered 'current room count + 1', or joins
    /// that room if someone else has just created it
    /// </summary>
    protected virtual void TryCreateRoom()
    {
        //vp_MPDebug.Log("trying to create room: " + "Room" + (PhotonNetwork.countOfRooms + 1).ToString());

        string roomName = "Room" + (PhotonNetwork.countOfRooms + 1).ToString();

        // if someone else is creating the wanted room right now, join it instead of creating it
        foreach (RoomInfo room in PhotonNetwork.GetRoomList())
        {
            if (room.Name == roomName)
            {
                //vp_MPDebug.Log("someone else was creating " + "Room" + (PhotonNetwork.countOfRooms + 1).ToString() + " so joining it");
                PhotonNetwork.JoinRoom(room.Name);
                return;
            }
        }

        // noone else is creating the wanted room, so create it!
        if (PhotonNetwork.CreateRoom(roomName))
        {
            //vp_MPDebug.Log("create room success");
        }
    }
コード例 #6
0
    public void CreateRoom(RoomType type, string roomName = null)
    {
        switch (type)
        {
        case RoomType.Custom:
            roomName = "%" + roomName;                     // PhotonNetwork.NickName + "'s Room";
            var options = new RoomOptions {
                MaxPlayers = 2, PublishUserId = true, PlayerTtl = 0
            };
            PhotonNetwork.CreateRoom(roomName, options, customLobby);
            break;

        case RoomType.Random:
            var roomOptions = new RoomOptions {
                MaxPlayers = 2, PlayerTtl = 0
            };
            PhotonNetwork.CreateRoom(null, roomOptions);
            break;

        default:
            throw new ArgumentOutOfRangeException(nameof(type), type, null);
        }
    }
コード例 #7
0
    public void onClickCreate()
    {
        //host = true;
        // player_num = "player1";
        // random pin number every time
        PIN.text = Random.Range(1000, 9999).ToString();
        string      password    = PIN.text;
        RoomOptions roomoptions = new RoomOptions();

        roomoptions.MaxPlayers = 4;
        string[] roompropsInLobby = { "gm" }; // game mode
        //party game mode
        //1. 丢纸团 = tp
        //2. 转盘= roll
        //3。 摇可乐 = shake
        ExitGames.Client.Photon.Hashtable customesproperties = new ExitGames.Client.Photon.Hashtable();
        roomoptions.CustomRoomPropertiesForLobby = roompropsInLobby;
        roomoptions.CustomRoomProperties         = customesproperties;
        PhotonNetwork.CreateRoom(password, roomoptions);
        // create_join_panel.SetActive(false);
        // RoomPanel.SetActive(true);
        //setPlayerName(player_num, PhotonNetwork.LocalPlayer.NickName);
    }
コード例 #8
0
    public void Connect()
    {
        if (roomOptions.MaxPlayers == 1)
        {
            //Check if the room exists in the current room list
            foreach (RoomInfo roomInfo in currRoomList)
            {
                if (roomInfo.Name == roomName)
                {
                    menu.ManageDebugText("Room already exists. Cannot play singleplayer in room.");
                    return;
                }
            }

            //If it doesn't, create and join
            PhotonNetwork.CreateRoom(roomName, roomOptions, null);
        }
        else
        {
            Debug.Log("Joining or Creating Room");
            PhotonNetwork.JoinOrCreateRoom(roomName, roomOptions, null);
        }
    }
コード例 #9
0
        public void CreateRoom(string roomName)
        {
            Debug.LogError("CreateRoom: " + PhotonNetwork.IsConnectedAndReady);
            if (!PhotonNetwork.IsConnectedAndReady)
            {
                m_uiEngine.DisplayResult(new Error()
                {
                    ErrorCode = Error.E_InvalidOperation,
                    ErrorText = "Not connected to multiplayer server yet."
                });
                return;
            }

            m_uiEngine.DisplayProgress("Creating room: " + roomName);
            RoomOptions options = new RoomOptions
            {
                IsVisible  = true,
                IsOpen     = true,
                MaxPlayers = 10
            };

            PhotonNetwork.CreateRoom(roomName, options);
        }
コード例 #10
0
        void CreateRoom(string _roomName)
        {
            RoomOptions roomOptions = new RoomOptions();

            roomOptions.MaxPlayers = byte.Parse(MaxPlayersTxt.text);
            roomOptions.CustomRoomPropertiesForLobby = new string[] { "mode" };
            roomOptions.CustomRoomProperties         = new ExitGames.Client.Photon.Hashtable()
            {
                { "mode", GameMode }
            };

            MinsForMatch  = int.Parse(MaxTimeTxt.text);
            KillsForMatch = int.Parse(MaxKillsTxt.text);
            MaxPing       = int.Parse(MaxPingTxt.text);

            timer = MinsForMatch * 60;

            PhotonNetwork.CreateRoom(_roomName, roomOptions, null);
            foreach (var uiEff in FadeInOnHost)
            {
                uiEff.DoFadeOut();
            }
        }
コード例 #11
0
    void OnPhotonRandomJoinFailed()
    {
        if (m_CurrentMode == ApplicationMode.Resolving)
        {
            m_CurrentMode = ApplicationMode.Ready;
            _ResetStatus();
            return;
        }
        if (m_CurrentMode == ApplicationMode.Hosting)
        {
            m_CurrentMode = ApplicationMode.Ready;
            _ResetStatus();
            return;
        }
        RoomOptions roomoptions = new RoomOptions()
        {
            isVisible = true, maxPlayers = 6
        };
        int randNum = UnityEngine.Random.Range(0, 100);

        PhotonNetwork.CreateRoom(randNum.ToString(), roomoptions, TypedLobby.Default);
        _ShowAndroidToastMessage("Created new room : " + randNum);
    }
コード例 #12
0
 /// <summary>
 /// Create a room with the target name for other players to join in the default lobby. Will connect to master server and default lobby if not already connected.
 /// </summary>
 /// <param name="roomName"></param>
 public void CreateRoom(string roomName)
 {
     _connecting = true;
     _roomName   = roomName;
     if (PhotonNetwork.IsConnected == false || PhotonNetwork.InLobby == false)
     {
         _createRoom = true;
         JoinLobby();
     }
     else
     {
         _connectStatus = "Creating a new room...";
         if (debugging == true)
         {
             Debug.Log(_connectStatus);
         }
         RoomOptions options = new RoomOptions()
         {
             MaxPlayers = maxPlayerPerRoom, PublishUserId = true, IsVisible = true, IsOpen = true
         };
         PhotonNetwork.CreateRoom(_roomName, options, TypedLobby.Default);
     }
 }
コード例 #13
0
ファイル: LudoMultiplayer.cs プロジェクト: ommzi-dev/5-Games
    public void CreatePrivateRoom()
    {
        GameManager.Instance.JoinedByID = false;
        RoomOptions roomOptions = new RoomOptions();

        roomOptions.MaxPlayers = 4;


        string roomName = "";

        for (int i = 0; i < 8; i++)
        {
            roomName = roomName + UnityEngine.Random.Range(0, 10);
        }

        roomOptions.CustomRoomPropertiesForLobby = new String[] { "bet", "game" };
        roomOptions.CustomRoomProperties         = new ExitGames.Client.Photon.Hashtable()
        {
            { "bet", GameManager.Instance.payoutCoins }, { "game", "Ludo" }
        };
        Debug.Log("Private room name: " + roomName);
        PhotonNetwork.CreateRoom("", roomOptions, TypedLobby.Default);
    }
コード例 #14
0
    public void createRoom()
    {
        // (ノಠ益ಠ)ノ彡┻━┻
        // This static property needs to be reset before another attempt at creating room else the room will automatically find our player in it and falsly report that we've already joined it.
        // Also, this static property can't be reset to "". This is not documented anywhere in the PUN API.
        PhotonNetwork.playerName = "_1_abc";
        ExitGames.Client.Photon.Hashtable tId = new ExitGames.Client.Photon.Hashtable();
        tId.Add("teamId", 0);
        PhotonNetwork.player.SetCustomProperties(tId);
        Debug.Log("player name: " + PhotonNetwork.player.name);
        RoomOptions options = new RoomOptions();

        ExitGames.Client.Photon.Hashtable initProps = new ExitGames.Client.Photon.Hashtable();
        switch (MapSelectionManager.mapName)
        {
        case "sacredforest": options.maxPlayers = 6;
            initProps.Add("mapName", "sacredforest");
            initProps.Add("players", new string[6] {
                "", "", "", "", "", ""
            });
            break;

        case "desert":
            options.maxPlayers = 6;
            initProps.Add("mapName", "desert");
            initProps.Add("players", new string[6] {
                "", "", "", "", "", ""
            });
            break;
        }

        options.customRoomProperties         = initProps;
        options.customRoomPropertiesForLobby = new string[] { "mapName", "players" };
        string roomName = LoginManager.getUsername() + "'s game #" + Math.Abs(PhotonNetwork.ServerTimestamp.GetHashCode());

        PhotonNetwork.CreateRoom(roomName, options, PhotonNetwork.lobby);
    }
コード例 #15
0
ファイル: NetManager.cs プロジェクト: HawkPride/tts-pvcvp
        public void OnPhotonRandomJoinFailed(object[] codeAndMsg)
        {
            //Int16 nReturnCode = (Int16)codeAndMsg[0];
            //string strMessage = (string)codeAndMsg[1];
            if (PhotonNetwork.insideLobby == true)
            {
                //Create room
                RoomOptions opts = new RoomOptions();
                switch (m_eCurGameType)
                {
                case EGameType.PvP1x1:
                    opts.MaxPlayers = 2;
                    break;

                case EGameType.PvP2x2:
                    opts.MaxPlayers = 4;
                    break;

                case EGameType.PvP3x3:
                    opts.MaxPlayers = 6;
                    break;

                default:
                    Debug.LogError("Unexpected game type " + m_eCurGameType.ToString());
                    break;
                }
                opts.IsOpen       = true;
                opts.PlayerTtl    = 100;
                opts.EmptyRoomTtl = 100;

                PhotonNetwork.CreateRoom(null, opts, null);
            }
            else
            {
                FailedEnterRoom();
            }
        }
コード例 #16
0
ファイル: NetworkManager.cs プロジェクト: McBuff/DMV
    void OnGUI()
    {
        // network error messages
        if (!PhotonNetwork.connected)
        {
            GUILayout.Label(PhotonNetwork.connectionStateDetailed.ToString());
        }

        else if (PhotonNetwork.room == null)
        {
            PlayerName = GUI.TextField(new Rect(100, 50, 100, 30), PlayerName, 20);
            // Create Room
            if (GUI.Button(new Rect(100, 100, 500, 100), "Start Server"))
            {
                PhotonNetwork.player.name = PlayerName;
                PhotonNetwork.CreateRoom(roomName + Guid.NewGuid().ToString("N"), new RoomOptions()
                {
                    maxPlayers = 4
                }, null);
            }

            // Join Room
            if (roomsList != null)
            {
                for (int i = 0; i < roomsList.Length; i++)
                {
                    //PhotonNetwork.player.name = "ClientPlayer";
                    if (GUI.Button(new Rect(100, 250 + (95 * i), 500, 90), "Join " + roomsList[i].name))
                    {
                        PhotonNetwork.player.name = "ClientPlayer " + Time.time;
                        //PhotonNetwork.player.name = PlayerName;
                        PhotonNetwork.JoinRoom(roomsList[i].name);
                    }
                }
            }
        }
    }
コード例 #17
0
    public void OnClick_CreateRoom()
    {
        if (ClientNumber.text != "")
        {
            if (int.Parse(ClientNumber.text) > 1)
            {
                RoomOptions roomOptions = new RoomOptions()
                {
                    IsVisible = true, IsOpen = true, MaxPlayers = byte.Parse(ClientNumber.text)
                };

                if (RoomName.text != "")
                {
                    if (PhotonNetwork.CreateRoom(RoomName.text, roomOptions, TypedLobby.Default))
                    {
                        LogLayoutGroup.Instance.AddNewLog("Create room successfully sent.");
                    }
                    else
                    {
                        LogLayoutGroup.Instance.AddNewLog("Create room failed to send.");
                    }
                }
                else
                {
                    LogLayoutGroup.Instance.AddNewLog("Enter room name first.");
                }
            }
            else
            {
                LogLayoutGroup.Instance.AddNewLog("Client number must be greater than 1.");
            }
        }
        else
        {
            LogLayoutGroup.Instance.AddNewLog("Client number must be greater than 1.");
        }
    }
コード例 #18
0
    public void _OnClickCreateRoom()
    {
        Debug.Log("NetworkButtons - _OnClickCreateRoom()");

        bool bug = true;

        if (createRoomInput.text.Length > 0 && usernameInput.text.Length > 0)
        {
            Debug.Log("Name of the room : " + createRoomInput.text);

            usernameGO.name = usernameInput.text;
            PhotonNetwork.CreateRoom(createRoomInput.text, new RoomOptions()
            {
                MaxPlayers = 3
            }, null);

            bug = false;
        }
        if (usernameInput.text.Length == 0)
        {
            Debug.Log("Please enter username of length > 0");

            usernameInput.placeholder.color = Color.red;
            bug = false;
        }
        if (createRoomInput.text.Length == 0)
        {
            Debug.Log("Please enter room name of length > 0");

            createRoomInput.placeholder.color = Color.red;
            bug = false;
        }
        if (bug)
        {
            Debug.Log("Room cannot be joined");
        }
    }
コード例 #19
0
    //ルームを作成する
    public static void CreateRoom(string RoomName, int NumOfPlayers)
    {
        PhotonNetwork.autoCleanUpPlayerObjects = false;
        //カスタムプロパティ
        // ExitGames.Client.Photon.Hashtable customProp = new ExitGames.Client.Photon.Hashtable();
        // customProp.Add ("RoomName", RoomName); //ルーム名
        // PhotonNetwork.SetPlayerCustomProperties(customProp);



        // Debug.Log("int:"+NumOfPlayers+" byte:"+(byte)NumOfPlayers);
        RoomOptions roomOptions = new RoomOptions()
        {
            MaxPlayers = (byte)NumOfPlayers, // 部屋の最大人数
            IsOpen     = true,               // 入室を許可
            IsVisible  = true,               // ロビーから見えるようにする
            // ロビーで見える情報
            CustomRoomProperties = new ExitGames.Client.Photon.Hashtable()
            {
                { "Playing", false }
            },                                                                                 // Stageに移行しているかどうか、FalseならまだWaitingRoom
            CustomRoomPropertiesForLobby = new string[] { "Playing" }
        };


        // roomOptions.customRoomProperties = customProp;
        // //ロビーで見えるルーム情報としてカスタムプロパティのRoomNameを使いますよという宣言
        // roomOptions.customRoomPropertiesForLobby = new string[]{"RoomName"};
        // roomOptions.maxPlayers = 4; //部屋の最大人数
        // roomOptions.isOpen = true; //入室許可する
        // roomOptions.isVisible = true; //ロビーから見えるようにする
        //RoomNameが名前のルームがなければ作って入室、あれば普通に入室する。
        // PhotonNetwork.JoinOrCreateRoom (RoomName, roomOptions, null);
        Debug.Log("heyatukuru");

        PhotonNetwork.CreateRoom(RoomName, roomOptions, null);
    }
コード例 #20
0
    /// <summary>
    /// Create a room on click. It generates a 4 digit room code automatically and creates the room with the specified room options.
    /// The room options sets whether the room is visible in the lobby, is open to be joined, and the maximum number of players.
    /// </summary>
    public void CreateRoomOnClick()
    {
        RoomOptions roomOps = new RoomOptions()
        {
            IsVisible = true, IsOpen = true, MaxPlayers = (byte)roomSize
        };

        roomOps.PublishUserId = true;

        int roomCode = Random.Range(1000, 10000);

        roomName = roomCode.ToString();

        roomController.GetComponent <AvatarController>().enabled    = true;
        roomController.GetComponent <AvatarController>().maxPlayers = roomSize;
        roomController.GetComponent <AvatarController>().isCreator  = true;

        LobbyPanel.SetActive(false);
        RoomPanel.SetActive(true);

        PhotonNetwork.CreateRoom(roomName, roomOps);

        codeDisplay.text = "Code: " + roomName;
    }
コード例 #21
0
 /// <summary>
 /// Connects the client to the plantion server
 /// </summary>
 public void Connect()
 {
     if (PhotonNetwork.IsConnected)
     {
         if (debug)
         {
             //if(PhotonNetwork.IsConnectedAndReady())
             PhotonNetwork.CreateRoom(roomName, new RoomOptions()
             {
                 MaxPlayers = maxPlayersPerRoom
             });
         }
         if (PhotonNetwork.InLobby)
         {
             PhotonNetwork.LeaveLobby();
             //PhotonNetwork.JoinRandomRoom();
         }
     }
     else
     {
         PhotonNetwork.ConnectUsingSettings();
         PhotonNetwork.GameVersion = gameVersion;
     }
 }
コード例 #22
0
    //ルーム作成、もしくはルームに参加する
    public override void OnConnectedToMaster()
    {
        //ランダムマッチング
        if (randomOn == true)
        {
            PhotonNetwork.JoinRandomRoom();

            //ルームを作成する
        }
        else if (createOn == true)
        {
            PhotonNetwork.CreateRoom(roomName,
                                     new RoomOptions()
            {
                MaxPlayers = 4, IsVisible = false
            });

            //ルームに参加する
        }
        else if (joinOn == true)
        {
            PhotonNetwork.JoinRoom(roomName);
        }
    }
コード例 #23
0
    // Update is called once per frame
    void Update()
    {
        // Input para criar a sala
        if (Input.GetKeyDown(KeyCode.C))
        {
            PhotonNetwork.CreateRoom("Sala_Man");
            txt_status.text  = "Criou a sala!";
            txt_status.color = Color.yellow;
        }

        // Input para entrar na sala
        if (Input.GetKeyDown(KeyCode.E))
        {
            PhotonNetwork.JoinRoom("Sala_Man");
        }

        // Instanciar os players
        if (Input.GetKeyDown(KeyCode.E))
        {
            PhotonNetwork.Instantiate("player", new Vector3(5, 5, 5), Quaternion.identity, 0);
            txt_status.text  = "Instanciou o player";
            txt_status.color = Color.green;
        }
    }
コード例 #24
0
    public void CreateRoomOnClick()
    {
        // HAVE TO ADD SOME DATA VALIDATION:
        //
        //
        if (game_name_input.text.Equals(""))
        {
            return;
        }


        Debug.Log("Creating room...");
        Create_Game.ROOMNAME = game_name_input.text;



        if (PhotonNetwork.InLobby)
        {
            RoomOptions roomOps = new RoomOptions()
            {
                IsVisible = !game_private, IsOpen = true, MaxPlayers = (byte)4
            };
            if (PhotonNetwork.CreateRoom(Create_Game.ROOMNAME, roomOps)) //attempting to create a new room
            {
                Debug.Log("Room Created!");
            }
            else
            {
                Debug.Log("Could not create room.");
            }
        }
        else
        {
            Debug.Log("Not in Lobby1?");
        }
    }
コード例 #25
0
ファイル: 2328OT_02_02.cs プロジェクト: ssmktr/ExampleNetwork
    void OnGUI()
    {
        // if we're not inside a room, let the player create a room
        if (PhotonNetwork.room == null)
        {
            if (GUILayout.Button("Create Room", GUILayout.Width(200f)))
            {
                // create a room called "RoomNameHere", visible to the lobby, allows other players to join, and allows up to 8 players
                PhotonNetwork.CreateRoom("RoomNameHere", true, true, 8);
            }
        }
        else
        {
            // display some stats about this room
            GUILayout.Label("Connected to room: " + PhotonNetwork.room.name);
            GUILayout.Label("Players in room: " + PhotonNetwork.playerList.Length);

            // disconnect from the current room
            if (GUILayout.Button("Disconnect", GUILayout.Width(200f)))
            {
                PhotonNetwork.LeaveRoom();
            }
        }
    }
コード例 #26
0
    /// <summary>
    /// Connection à une room
    /// </summary>
    public void SearchGame()
    {
        UpdateListRoom();
        if (PhotonNetwork.connected)
        {
            if (listNameRoomOpenOfType.Count > 0)
            {
                int randRoom = Random.Range(0, listNameRoomOpenOfType.Count);
                PhotonNetwork.JoinRoom(listNameRoomOpenOfType[randRoom]);
            }
            else
            {
                RoomOptions option = new RoomOptions();
                option.MaxPlayers = (byte)ToG;
                option.IsOpen     = true;
                option.IsVisible  = true;
                option.PlayerTtl  = 5 * 60 * 1000;

                hashSet = new Hashtable();
                hashSet["TypeOfGame"]  = ToG;
                hashSet["MapName"]     = mapName;
                hashSet["NbrWorms"]    = NbrWormsPT;
                hashSet["PlayerName1"] = "";
                hashSet["PlayerName2"] = "";
                hashSet["PlayerName3"] = "";
                hashSet["PlayerName4"] = "";

                option.CustomRoomProperties = hashSet;

                string[] lobbyProps = { "TypeOfGame", "MapName", "NbrWorms", "PlayerName1", "PlayerName2", "PlayerName3", "PlayerName4" };
                option.CustomRoomPropertiesForLobby = lobbyProps;

                PhotonNetwork.CreateRoom(ToG.ToString() + " | " + mapName + " n°" + PhotonNetwork.countOfRooms, option, TypedLobby.Default);
            }
        }
    }
コード例 #27
0
    public void CreateRoom()
    {
        if (FindObjectOfType <LanguageControl>().GetSelectedLanguage() == 0)
        {
            roomSceneGMGUIController.feedbackText.text = "Creating room...";
        }
        else
        {
            roomSceneGMGUIController.feedbackText.text = "Creando sala...";
        }



        string      roomName    = gmRoomCode.text;
        RoomOptions roomOptions = new RoomOptions();

        roomOptions.MaxPlayers = 20;        //(byte)roomSceneGMGUIController.maxPlayers.GetComponentInChildren<Slider>().value;
        roomOptions.IsVisible  = false;     //FALSE = Hace la sala privada
        PhotonNetwork.CreateRoom(roomName, roomOptions, null);
        Debug.Log("Sala creada: " + roomName);
        PhotonNetwork.SetMasterClient(PhotonNetwork.LocalPlayer);

        PhotonNetwork.NickName = "GM";        //roomSceneGMGUIController.usernameInput.text;
    }
コード例 #28
0
    /**
     * ROOMの作成.
     */
    public void OnClickRoomAddButton()
    {
        InputField RoomName = GameObject.Find("RoomName").GetComponent <InputField>();

        if (RoomName != null)
        {
            var val = RoomName.text;
            if (val != null && val != "")
            {
                //作成する部屋の設定
                RoomOptions roomOptions = new RoomOptions();
                //ロビーで見える部屋にする
                roomOptions.IsVisible = true;
                //他のプレイヤーの入室を許可する
                roomOptions.IsOpen = true;
                //入室可能人数を設定
                roomOptions.MaxPlayers = (byte)10;
                // ルームを作成
                bool result = PhotonNetwork.CreateRoom(val, roomOptions, null);
                // Serverですよフラグ
                m_is_server = true;
            }
        }
    }
コード例 #29
0
    public override void OnJoinRandomFailed(short returnCode, string message)
    {
        base.OnJoinRandomFailed(returnCode, message);

        //If no random room is available to join, then we should make our own new one
        //The null is just not specifying a name - it'll create a random one

        //Debug.LogError("Failed to join a room: " + returnCode + " " + message);

        RoomOptions roomOptions = new RoomOptions();

        roomOptions.CustomRoomProperties = new ExitGames.Client.Photon.Hashtable()
        {
            { "lvl", nMyLevel }
        };
        roomOptions.CustomRoomPropertiesForLobby = new string[] { "type", "lvl" };

        //Set the max players to be the amount we most recently queue'd up for
        roomOptions.MaxPlayers = (byte)nMostRecentMaxPlayersInRoom;

        //Debug.Log("Creating a room with properties " + roomOptions.CustomRoomProperties["lvl"]);

        PhotonNetwork.CreateRoom(null, roomOptions);
    }
コード例 #30
0
    public void CreateRoom()
    {
        bool createRoom = true;

        foreach (RoomInfo room in rooms)
        {
            if (room.Name == nameInput.text)
            {
                createRoom = false;
                break;
            }
        }

        if (createRoom)
        {
            RoomOptions options = new RoomOptions();
            options.MaxPlayers = (byte)Mathf.RoundToInt(slider.value);
            PhotonNetwork.CreateRoom(nameInput.text, options, TypedLobby.Default);
        }
        else
        {
            Debug.Log("Roomname is taken");
        }
    }