포톤네트워크를 사용해 함수를 구현하시면 편리하게도
서버에 입장하고, 로비, 룸에 입장할때 호출되는 콜백 함수들이 있습니다.
오늘은 서버에 접속해서 방에 들어가기까지 대략적인 파악정도만을 위해 작성하고
추후에 디테일한 UI 구성까지 함께 파보겠습니다!
인게임에 들어가기전에 아웃게임에서 크게 챕터를 나누자면 접속, 로비, 룸 이렇게 나뉘는 것 같습니다.
1. 서버 연결 및 연결해제 파트
public void OnConnect()
{
// 서버 접속 함수
PhotonNetwork.ConnectUsingSettings();
}
public void OnDisconnect()
{
// 접속 종료 함수
PhotonNetwork.Disconnect();
}
public override void OnConnectedToMaster()
{
// 서버 접속 완료 콜백
}
public override void OnDisconnected(DisconnectCause _cause)
{
// 접속 종료 완료 콜백
}
2. 로비 입장 및 퇴장 파트
public void OnJoinLobby()
{
// 로비 입장 함수
PhotonNetwork.JoinLobby();
}
public void OnLeaveLobby()
{
// 로비 퇴장 함수
PhotonNetwork.LeaveLobby();
}
public override void OnJoinedLobby()
{
// 로비 접속 완료 콜백
}
public override void OnLeftLobby()
{
// 로비 퇴장 완료 콜백
}
public override void OnRoomListUpdate(List<RoomInfo> _roomList)
{
// 룸 리스트 초기화 - 현재 생성된 룸들의 정보가 담긴 리스트가 매개변수로 온다.
// 로비 내에 룸이 생성되거나 사라질때 자동 호출되는 콜백
}
3. 룸 생성 및 입장, 랜덤입장 파트
public void OnCreateRoom(string _roomName)
{
// 룸 생성 함수 - roomName을 key값으로 room을 생성합니다.
string roomName = (_roomName == "") ? "Room" + Random.Range(0, 100) : _roomName;
PhotonNetwork.CreateRoom(roomName, new RoomOptions { MaxPlayers = 8 });
}
public void OnJoinRoom(string _roomName)
{
// 룸 입장 함수 - roomName을 key값으로 검색해 입장합니다.
PhotonNetwork.JoinRoom(_roomName);
}
public void OnJoinRandomRoom()
{
// 룸 랜덤입장 함수
PhotonNetwork.JoinRandomRoom();
}
//// 성공 콜백
public override void OnCreatedRoom()
{
// 룸 생성 완료 콜백
}
public override void OnJoinedRoom()
{
// 룸 입장 완료 콜백 - 랜덤입장도 성공하면 여기 콜백 호출
}
//// 실패 콜백
public override void OnCreateRoomFailed(short _returnCode, string _message)
{
// 룸 생성 실패 콜백
}
public override void OnJoinRoomFailed(short _returnCode, string _message)
{
// 룸 입장 실패 콜백
}
public override void OnJoinRandomFailed(short _returnCode, string _message)
{
// 룸 랜덤입장 실패 콜백
}
이렇게 인게임이전에 파악해야할 접속, 로비, 룸 3가지에 대해서 대략적인 콜백함수만 파악해봤습니다.
이렇게 크게한번 파악하고 하나하나 접근하는 방식이 저에게도 좋은 공부법이라고 생각되는군요!
다음시간에는 1-1 서버접속과 위에서 보여드린 경고창, 로딩중 표시까지 함께 작성해보겠습니다!
반응형
'게임 개발 > Unity' 카테고리의 다른 글
[유니티 C#] SafeArea 상,하,좌,우 4방향 각자 대응 (0) | 2021.07.24 |
---|---|
[유니티 C#] UI Animation State 이름 중복 사용 (0) | 2021.07.11 |
유니티 Admob mediation adapter 적용시 빌드에러 (0) | 2021.02.14 |
[유니티 C#] Position으로 SortingLayer 조절 - 건물 뒤에 숨기 (4) | 2020.12.06 |
[유니티 C#] 에디터 OnInspectorGUI()후 저장 (0) | 2020.11.21 |