방 이벤트¶
Strix는 개체와 그 동작의 동기화를 방 서버에서 처리합니다. 그러나, 이벤트 중에는 플레이어 연결이나 방의 상태에 적용되는 것도 있습니다. 플레이어가 스코어보드나 맵 정보 같은 것을 업데이트해야 할 때 이 이벤트들의 알림을 받으면 도움이 됩니다.
방 만들기, 방 삭제, 방 멤버 정보 변경 등 앞 섹션에서 설명한 동작 대부분은 서버에서만 알림을 보냅니다.
방 이벤트는 roomClient
속성에서 이용할 수 있습니다.
// 예
StrixNetwork.instance.roomSession.roomClient.RoomDeleted += this.RoomDeleted;
StrixNetwork.instance.roomSession.roomClient.RoomRelayNotified += this.RoomRelayNotified;
클라이언트가 방 서버에서 알림을 받으면 다음 이벤트가 발생합니다. 이것은 남이 동작을 해도 발생합니다.
참고
이벤트가 발생하는 시점과 통보를 받는 시점 간에는 시간 지연이 있습니다.
이벤트 |
설명 |
수신인 |
---|---|---|
RoomJoinNotified |
누군가 방에 들어오면 호출됩니다. |
멤버 전체 |
RoomLeaveNotified |
누군가 방을 나가면 호출됩니다. |
멤버 전체 |
RoomDeleteNotified |
방이 삭제되면 호출됩니다. |
멤버 전체 |
RoomSetNotified |
방장이 SetRoom을 이용하여 방 속성을 바꾸면 호출됩니다. |
멤버 전체 |
RoomSetMemberNotified |
방 멤버가 SetRoomMember를 이용하여 본인 속성을 어느 것이든 변경하면 호출됩니다. |
멤버 전체 |
RoomDirectRelayNotified |
클라이언트가 직접 릴레이 메시지를 받으면 호출됩니다. |
릴레이 메시지 타겟 한정 |
RoomRelayNotified |
누군가 방에 릴레이 메시지를 보내면 호출됩니다. |
멤버 전체 |
MatchRoomKickNotified |
누군가 방에서 퇴장당하면 호출됩니다. |
멤버 전체 |
RoomOwnerChanged |
방의 소유권이 다른 멤버에게 이전되면 호출됩니다.
방장 양도 옵션이 서버에서 켜져 있을 때만 발생합니다.
|
멤버 전체 |
동작이 시작되어 서버에서 동작이 성공적으로 끝나고 응답을 받으면 다음 이벤트가 발생합니다. 이벤트 중 일부는 다른 플레이어가 동작을 성공적으로 마쳤을 때도 발생합니다.
이벤트 |
설명 |
---|---|
RoomCreated |
|
RoomSet |
본인 또는 다른 플레이어가 |
RoomDeleted |
본인 또는 다른 플레이어가 |
RoomJoined |
|
RoomLeft |
|
참고
이 페이지에서 설명하는 이벤트는 C# 이벤트로, 구독할 때는 +=
연산자(또는 add
액세서)를, 구독취소할 때는 -=
연산자(또는 delete
액세서)를 사용할 수 있다는 뜻입니다. 이 이벤트들은 SoftGear.Strix.Client.Match.CustomizableMatchRoomClient
라는 기본 클래스 중 하나에 정의되어 있으며 위 예와 같이 주로 StrixNetwork.instance.roomSession.roomClient
개체를 통해 이것을 이용합니다.