알림 이벤트 개요¶
Strix Unity SDK에는 구독할 수 있는 이벤트가 몇 가지 있습니다. 이들 중 일부(전체는 아님)는 이벤트의 추가 세부정보나 오류 코드 같은 유용한 정보를 제공합니다.
이벤트 간 상호작용은 이벤트의 순서를 참조해 주십시오.
방 이벤트¶
(StrixNetwork.instance.roomSession.roomClient
에서 이용 가능.)
네트워크 동작에 대한 현재 클라이언트의 응답
RoomCreated
방 생성 즉시 실행됨
RoomJoined
방 입장 즉시 실행됨
RoomLeft
방 퇴장 즉시 실행됨
네트워크 동작에 대한 현재 클라이언트 또는 다른 클라이언트의 응답
RoomSet
현재 클라이언트 등이 방 속성을 수정하면 실행됨
RoomDeleted
현재 클라이언트 등이 방을 삭제하면 실행됨
다른 클라이언트나 서버에 대해 실행되는 동작에서 유래하는 이벤트
RoomJoinNotified
새 방 멤버가 방에 입장하면 실행됨
RoomLeaveNotified
방 멤버가 방을 떠나면 실행됨
RoomDeleteNotified
방이 삭제되면 실행됨
RoomSetNotified
방장이 방 속성을 수정하면 실행됨
RoomSetMemberNotified
방 멤버가 자기 속성을 수정하면 실행됨
RoomDirectRelayNotified
직접 릴레이 메시지를 받으면 실행됨
RoomRelayNotified
방송 릴레이 메시지를 받으면 실행됨
MatchRoomKickNotified
방 멤버가 방에서 퇴장당하면 실행됨
RoomOwnerChanged
방 소유권이 이전되면 실행됨
참고
RoomJoinNotified 이벤트의 핸들러가 이름이 Data인 멤버와 함께 인수를 받고, GetNewlyJoinedMember 메서드는 그 입장한 멤버에 관한 정보가 들어 있는 개체를 제공합니다. 정보 개체의 타입은 SoftGear.Strix.Client.Room.Model.IRoomMember 인터페이스로 정의되며, 여기에는 몇 가지 속성이 있습니다.
단, Strix Cloud를 이용할 때 개체는 IRoomMember를 실행하는 SoftGear.Strix.Client.Match.Room.Model.MatchRoomMember 클래스의 인스턴스입니다. 따라서, 멤버에 관해 정보가 더 필요하다면 아래 코드 조각처럼 MatchRoomMember에 캐스트해도 됩니다.
StrixNetwork.instance.roomSession.roomClient.RoomJoinNotified = e => Debug.Log(((MatchRoomMember)e.Data.GetNewlyJoinedMember()).GetName());
이것은 이름이 Notified이고 인수가 (간접적으로) IRoomMember를 제공하는 다른 방 이벤트(예를 들면 RoomLeaveNotified 이벤트)도 마찬가지입니다.
레플리카 이벤트¶
(StrixNetwork.instance.roomSession.replicaClient
에서 이용 가능.)
ReplicaCreateNotified |
새 레플리카가 만들어지면 실행됨 |
ReplicaSetNotified |
누군가 레플리카의 속성을 바꾸면 실행됨 |
ReplicaDeleteNotified |
누군가 레플리카를 삭제하면 실행됨 |
ReplicaChangeOwnerNotified |
레플리카가 새 주인을 찾으면 실행됨 |
세션 이벤트¶
(StrixNetwork.instance.roomSession
과 StrixNetwork.instance.masterSession
에서 모두 이용 가능.)
Connected |
새 연결이 만들어지면 호출됨 |
ConnectFailed |
새 연결을 시도했지만 실패하면 호출됨 |
Closed |
기존 연결이 종료되면 호출됨 |
ErrorThrown |
오류가 발생하면 호출됨 대체로 .NET 라이브러리의 SocketException이 원인입니다. 호스트 주소를 해결할 수 없을 때도 발생합니다. |
참고
roomSession의 세션 이벤트는 방 서버 연결을 담당하며, masterSession에 있는 것은 마스터 서버 연결을 담당합니다.