Exemple #1
0
        public void JoinRoom(string userToken, string roomName)
        {
            if (XRSocialSDK.InLobby() == false)
            {
                Debug.LogError("You can join the room only when you are in the lobby");
                SalinCallbacks.OnPhotonCallbackError(new PhotonEvent(PhotonAction.JoinRoom, ErrorCode.NotInTheLobby));
                return;
            }

            RoomInfo roomInfo = XRSocialSDK.GetCachedRoomInfo(roomName);

            if (roomInfo != null)
            {
                if (string.IsNullOrEmpty(roomInfo.Password) == false)
                {
                    Debug.LogError("Target room has a password. \n" +
                                   "You must enter the password.");

                    SalinCallbacks.OnPhotonCallbackError(new PhotonEvent(PhotonAction.JoinRoom, ErrorCode.InvalidPassword));
                    return;
                }

                if (roomInfo.BlockedPlayerIdList.ContainsKey(UserManager.Instance.userID))
                {
                    Debug.LogError("You are blocked from target room. \n" +
                                   "You can't join the room");

                    SalinCallbacks.OnPhotonCallbackError(new PhotonEvent(PhotonAction.JoinRoom, ErrorCode.BlockedFromRoom));
                    return;
                }
            }

            PhotonNetwork.JoinRoom(roomName);
        }
Exemple #2
0
        public void JoinRoomWithPassword(string userToken, string roomName, string password)
        {
            if (XRSocialSDK.InLobby() == false)
            {
                Debug.LogError("You can join the room only when you are in the lobby");
                SalinCallbacks.OnPhotonCallbackError(new PhotonEvent(PhotonAction.JoinRoom, ErrorCode.NotInTheLobby));
                return;
            }

            RoomInfo roomInfo = XRSocialSDK.GetCachedRoomInfo(roomName);

            if (roomInfo != null)
            {
                if (roomInfo.BlockedPlayerIdList.ContainsKey(UserManager.Instance.userID))
                {
                    Debug.LogError("You are blocked from target room. \n" +
                                   "You can't join the room");

                    SalinCallbacks.OnPhotonCallbackError(new PhotonEvent(PhotonAction.JoinRoom, ErrorCode.BlockedFromRoom));
                    return;
                }
            }

            Hashtable enterRoomInfo = new Hashtable()
            {
                { RoomOptionKey.RoomName, roomName },
                { RoomOptionKey.Password, password },
            };

            PhotonNetwork.JoinRandomRoom(enterRoomInfo, 0);
        }
Exemple #3
0
        public void JoinOrCreateRoom(string userToken, string roomName, RoomOption roomOption)
        {
            if (XRSocialSDK.InLobby() == false)
            {
                Debug.LogError("You can create or join the room only when you are in the lobby");
                SalinCallbacks.OnPhotonCallbackError(new PhotonEvent(PhotonAction.CreateRoom, ErrorCode.NotInTheLobby));
                return;
            }

            RoomOptions PhotonRoomOptions = PhotonUtility.ConvertPhotonRoomOption(roomOption);

            if (PhotonRoomOptions != null)
            {
                if (PhotonRoomOptions.CustomRoomProperties == null)
                {
                    PhotonRoomOptions.CustomRoomProperties = new Hashtable();
                }
                PhotonRoomOptions.CustomRoomProperties.Add(RoomOptionKey.RoomName, roomName);
            }

            PhotonNetwork.JoinOrCreateRoom(roomName, PhotonRoomOptions, TypedLobby.Default);
        }