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