센로그
[PUN2] Room 생성 및 참가 / RoomOptions / Room 관련 정보 확인 본문
◆ Room 생성 및 참가
- PhotonNetwork.CreateRoom(string roomName, RoomOptions roomOptions)
: roomOptions을 반영한 룸 생성 - PhotonNetwork.JoinRoom(string roomName)
: roomName 이름의 룸에 접속 - PhotonNetwork.JoinRandomRoom()
: 생성되어있는 룸들 중에서 랜덤한 룸에 접속 - PhotonNetwork.JoinOrCreateRoom(string roomName, RoomOptions roomOptions, TypedLobby typedLobby, string expectedUsers)
: 룸에 참가하되, 해당 룸이 없으면 새로 생성해서 참가 - PhotonNetwork.JoinRandomOrCreateRoom(Hashtable expectedCustomRoomProperties, byte expectedMaxPlayers, MatchmakingMode matchingType, TypedLobby typedLobby, string sqlLobbyFilter, string roomName, RoomOptions roomOptions, string[] expectedUsers)
: 생성되어있는 룸들 중에서 랜덤으로 참가하되, 참가할 수 있는 방이 없으면 새로 생성해서 참가 - PhotonNetwork.ReJoinRoom(string roomName)
: 해당 룸에서 나간 후 재접속 - PhotonNetwork.LeaveRoom()
: 룸에서 나감
◆ Room 관련 콜백
- void OnCreatedRoom()
: 룸 생성시 로컬 콜백 - void OnJoinedRoom()
: 룸 입장시 로컬 콜백 - void OnLeftRoom()
: 룸 퇴장시 로컬 콜백 - void OnJoinRandomFailed(short returnCode, string message)
: 랜덤 룸 입장이 실패한 경우 로컬 콜백.
returnCode - 에러 코드. message - 에러 메세지 - void OnPlayerEnteredRoom(Player newPlayer)
: 룸에 새 플레이어가 입장할 시 원격 콜백 - void OnPlayerLeftRoom(Player otherPlayer)
: 어떤 플레이어가 룸을 퇴장할 시 원격 콜백 - void OnRoomListUpdate(List<RoomInfo> roomList)
: 룸 리스트 업데이트시 원격 콜백
◆ RoomOptions
룸의 설정을 정의할 수 있는 클래스.
말 그대로 룸을 만들 때 사용할 옵션이다.
using Photon.Realtime; 필요.
RoomOptions ro = new RoomOptions();
RoomOptions 객체의 속성을 조정함으로써 RoomOption을 정의할 수 있다.
다음과 같은 속성들이 존재한다.
- MaxPlayers : 최대 접속자 수
- IsOpen : 룸의 오픈 여부(룸 입장 허용 여부)
- IsVisible : 로비에서 노출 여부
- CustomRoomProperties : 룸의 커스텀 프로퍼티(직접 룸에 필요한 옵션을 정의. Hashtable 형식)
PhotonNetwork.CreateRoom(string roomName, RoomOptions roomOptions)
를 통해 해당 옵션을 적용한 방을 만들 수 있다.
◆ Room 관련 정보 확인
- PhotonNetwork.InRoom : 룸에 들어와있는지, 아닌지 체크
- PhotonNetwork.CountOfRooms : 현재 방 개수 체크
- PhotonNetwork.CountOfPlayersInRooms : 현재 모든 방들에 접속해있는 플레이어 수 체크 (로비 제외)
- PhotonNetwork.CurrentRoom : 현재 룸의 Name, PlayerCount, MaxPlayer, IsOpen, IsVisible ..등에 접근 가능.
(ex: Debug.Log(PhotonNetwork.CurrentRoom.Maxplayers))
'게임 > PUN2(Unity)' 카테고리의 다른 글
[PUN2] IPunObservable (0) | 2023.07.24 |
---|---|
[PUN2] Player 클래스 (0) | 2023.02.15 |
[PUN2] PunRPC / PV.RPC (0) | 2023.01.20 |
[PUN2] Custom Property (커스텀 프로퍼티) (0) | 2023.01.20 |
[PUN2] PhotonView - Transform, Animator, Rigidbody (0) | 2023.01.20 |
Comments