Esempio n. 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);
        }
Esempio n. 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);
        }