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); }
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); }