센로그

[PUN2] PUN2 개요 / MonoBehaviourPunCallbacks 콜백 본문

게임/PUN2(Unity)

[PUN2] PUN2 개요 / MonoBehaviourPunCallbacks 콜백

seeyoun 2023. 1. 12. 02:44

◆ PUN2 개요

PUN이란 Photon Unity Networking의 줄임말로,
유니티 상에서 멀티 게임을 쉽게 만들 수 있도록 서버와 다양한 메소드를 제공하는 포톤 패키지이다.

 

포톤 서버에는 로비-룸 개념이 존재한다.

단위로 네트워킹하고, 로비를 통해 룸을 생성 및 선택할 수 있도록 한다.

(로비는 필수는 아님. 단, 방을 만들거나 참가하려면 마스터 서버에 연결이 되어있거나, 로비에 접속해야 함)

 

로비로 접속하는 별도의 함수를 호출함으로써 로비에 접속할 수 있다.

로비에서 유저는 현재 생성된 룸을 확인하거나 룸을 만들어서 룸에 접속할 수 있다.

 


◆ 포톤 콜백 - MonoBehaviourPunCallbacks

MonoBehaviourPunCallbacks 클래스 상속을 통해 PUN의 다양한 콜백 함수들을 override해서 사용할 수 있게 해준다.

 

using Photon.Pun; 필요.

 

base 클래스에는 다양한 콜백 함수들이 가상함수로 구현되어있다.

https://doc-api.photonengine.com/en/pun/v2/class_photon_1_1_pun_1_1_mono_behaviour_pun_callbacks.html

 

아래는 연결 및 로비, 룸에 관련된 몇개의 콜백들이다.

  • void OnConnectedToMaster()
    : 포톤 서버(마스터 서버)에 접속시 콜백
  • void OnJoinedLobby()
    : 로비 접속시 콜백
  • void OnLeftLobby()
    : 로비 퇴장시 콜백
  • void OnRoomListUpdate(List<RoomInfo> roomList)
    : 룸 리스트 업데이트시 콜백 (로비에서만 호출 가능)
  • void OnCreatedRoom()
    : 룸 생성시 콜백
  • void OnJoinedRoom()
    : 룸 입장시 콜백
  • void OnLeftRoom()
    : 룸 퇴장시 콜백
  •  void OnJoinRandomFailed(short returnCode, string message)
    : 랜덤 룸 입장이 실패한 경우 콜백.
    returnCode - 에러 코드. message - 에러 메세지
  • void OnPlayerEnteredRoom(Player newPlayer)
    : 룸에 새 플레이어가 입장할 시 원격 콜백
  • void OnPlayerLeftRoom(Player otherPlayer)
    : 어떤 플레이어가 룸을 퇴장할 시 원격 콜백

 

활성화/비활성화시를 나타내는 OnEnable()과 OnDisable() 콜백도 사용할 수 있다.

'게임 > PUN2(Unity)' 카테고리의 다른 글

[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
[PUN2] Photon PUN2 Setup  (0) 2023.01.09
Comments