Example #1
0
 public virtual void OnPhotonRandomJoinFailed()
 {
     Debug.Log("OnPhotonRandomJoinFailed() was called by PUN. No random room available, so we create one. Calling: PhotonNetwork.CreateRoom(null, new RoomOptions() {maxPlayers = 4}, null);");
     PhotonNetworkManager.CreateRoom(null, new RoomOptions()
     {
         MaxPlayers = 4
     }, null);
 }
Example #2
0
 public override void OnPhotonRandomJoinFailed(object[] codeAndMsg)
 {
     Debug.Log("OnPhotonRandomJoinFailed");
     PhotonNetworkManager.CreateRoom(null, new RoomOptions()
     {
         MaxPlayers = 2, PlayerTtl = 20000
     }, null);
 }
 public void OnClickCreateRoom()
 {
     if (createRoomInput.text.Length >= 1)
     {
         PhotonNetworkManager.CreateRoom(createRoomInput.text, new RoomOptions()
         {
             MaxPlayers = 6
         }, null);
     }
 }
Example #4
0
        /// <summary>
        /// Called when a JoinRandom() call failed. The parameter provides ErrorCode and message.
        /// </summary>
        /// <remarks>
        /// Most likely all rooms are full or no rooms are available. <br/>
        /// </remarks>
        /// <param name="codeAndMsg">codeAndMsg[0] is short ErrorCode. codeAndMsg[1] is string debug msg.</param>
        public override void OnPhotonRandomJoinFailed(object[] codeAndMsg)
        {
            LogFeedback("<Color=Red>OnPhotonRandomJoinFailed</Color>: Next -> Create a new Room");
            Debug.Log("DemoAnimator/Launcher:OnPhotonRandomJoinFailed() was called by PUN. No random room available, so we create one.\nCalling: PhotonNetwork.CreateRoom(null, new RoomOptions() {maxPlayers = 4}, null);");

            // #Critical: we failed to join a random room, maybe none exists or they are all full. No worries, we create a new room.
            PhotonNetworkManager.CreateRoom(null, new RoomOptions()
            {
                MaxPlayers = this.maxPlayersPerRoom
            }, null);
        }
Example #5
0
    public void OnGUI()
    {
        if (!PhotonNetworkManager.connectedAndReady || PhotonNetworkManager.Server != ServerConnection.MasterServer)
        {
            // this feature is only available on the Master Client. Check either: insideLobby or
            // PhotonNetwork.connectionStateDetailed == PeerState.Authenticated or
            // PhotonNetwork.inRoomLobby

            // for simplicity (and cause we know we WILL join the lobby, we can just check that)
            return;
        }


        GUILayout.BeginArea(GuiRect);

        GUILayout.Label("Your (random) name: " + PhotonNetworkManager.playerName);
        GUILayout.Label("Your friends: " + string.Join(", ", this.friendListOfSomeCommunity));


        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Find Friends"))
        {
            PhotonNetworkManager.FindFriends(this.friendListOfSomeCommunity);
        }
        if (GUILayout.Button("Create Room"))
        {
            PhotonNetworkManager.CreateRoom(null);                     // just a random room
        }

        ExpectedUsers = GUILayout.TextField("Expected Users", ExpectedUsers);

        GUILayout.EndHorizontal();


        if (PhotonNetworkManager.Friends != null)
        {
            foreach (FriendInfo info in PhotonNetworkManager.Friends)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label(info.ToString());
                if (info.IsInRoom)
                {
                    if (GUILayout.Button("join"))
                    {
                        PhotonNetworkManager.JoinRoom(info.Room);
                    }
                }
                GUILayout.EndHorizontal();
            }
        }

        GUILayout.EndArea();
    }
 public void OnPhotonRandomJoinFailed()
 {
     PhotonNetworkManager.CreateRoom(null);
 }
Example #7
0
    public void OnGUI()
    {
        if (this.Skin != null)
        {
            GUI.skin = this.Skin;
        }

        if (!PhotonNetworkManager.connected)
        {
            if (PhotonNetworkManager.connecting)
            {
                GUILayout.Label("Connecting to: " + PhotonNetworkManager.ServerAddress);
            }
            else
            {
                GUILayout.Label("Not connected. Check console output. Detailed connection state: " + PhotonNetworkManager.connectionStateDetailed + " Server: " + PhotonNetworkManager.ServerAddress);
            }

            if (this.connectFailed)
            {
                GUILayout.Label("Connection failed. Check setup and use Setup Wizard to fix configuration.");
                GUILayout.Label(String.Format("Server: {0}", new object[] { PhotonNetworkManager.ServerAddress }));
                GUILayout.Label("AppId: " + PhotonNetworkManager.PhotonServerSettings.AppID.Substring(0, 8) + "****"); // only show/log first 8 characters. never log the full AppId.

                if (GUILayout.Button("Try Again", GUILayout.Width(100)))
                {
                    this.connectFailed = false;
                    PhotonNetworkManager.ConnectUsingSettings("0.9");
                }
            }

            return;
        }

        Rect content = new Rect((Screen.width - this.WidthAndHeight.x) / 2, (Screen.height - this.WidthAndHeight.y) / 2, this.WidthAndHeight.x, this.WidthAndHeight.y);

        GUI.Box(content, "Join or Create Room");
        GUILayout.BeginArea(content);

        GUILayout.Space(40);

        // Player name
        GUILayout.BeginHorizontal();
        GUILayout.Label("Player name:", GUILayout.Width(150));
        PhotonNetworkManager.playerName = GUILayout.TextField(PhotonNetworkManager.playerName);
        GUILayout.Space(158);
        if (GUI.changed)
        {
            // Save name
            PlayerPrefs.SetString("playerName", PhotonNetworkManager.playerName);
        }
        GUILayout.EndHorizontal();

        GUILayout.Space(15);

        // Join room by title
        GUILayout.BeginHorizontal();
        GUILayout.Label("Roomname:", GUILayout.Width(150));
        this.roomName = GUILayout.TextField(this.roomName);

        if (GUILayout.Button("Create Room", GUILayout.Width(150)))
        {
            PhotonNetworkManager.CreateRoom(this.roomName, new RoomOptions()
            {
                MaxPlayers = 10
            }, null);
        }

        GUILayout.EndHorizontal();

        // Create a room (fails if exist!)
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        //this.roomName = GUILayout.TextField(this.roomName);
        if (GUILayout.Button("Join Room", GUILayout.Width(150)))
        {
            PhotonNetworkManager.JoinRoom(this.roomName);
        }

        GUILayout.EndHorizontal();


        if (!string.IsNullOrEmpty(ErrorDialog))
        {
            GUILayout.Label(ErrorDialog);

            if (this.timeToClearDialog < Time.time)
            {
                this.timeToClearDialog = 0;
                ErrorDialog            = "";
            }
        }

        GUILayout.Space(15);

        // Join random room
        GUILayout.BeginHorizontal();

        GUILayout.Label(PhotonNetworkManager.countOfPlayers + " users are online in " + PhotonNetworkManager.countOfRooms + " rooms.");
        GUILayout.FlexibleSpace();
        if (GUILayout.Button("Join Random", GUILayout.Width(150)))
        {
            PhotonNetworkManager.JoinRandomRoom();
        }


        GUILayout.EndHorizontal();

        GUILayout.Space(15);
        if (PhotonNetworkManager.GetRoomList().Length == 0)
        {
            GUILayout.Label("Currently no games are available.");
            GUILayout.Label("Rooms will be listed here, when they become available.");
        }
        else
        {
            GUILayout.Label(PhotonNetworkManager.GetRoomList().Length + " rooms available:");

            // Room listing: simply call GetRoomList: no need to fetch/poll whatever!
            this.scrollPos = GUILayout.BeginScrollView(this.scrollPos);
            foreach (RoomInfo roomInfo in PhotonNetworkManager.GetRoomList())
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label(roomInfo.Name + " " + roomInfo.PlayerCount + "/" + roomInfo.MaxPlayers);
                if (GUILayout.Button("Join", GUILayout.Width(150)))
                {
                    PhotonNetworkManager.JoinRoom(roomInfo.Name);
                }

                GUILayout.EndHorizontal();
            }

            GUILayout.EndScrollView();
        }

        GUILayout.EndArea();
    }