【多人对战,C#】通过刷新大厅获得的LeanCloud.Play.LobbyRoom如何得知其房间创建者的信息

你好:
当我在房间大厅刷新时,可以得到一系列LobbyRoom,里面带有RoomName这个房间唯一ID,那么我可以通过这个ID进入房间,这里都没问题。
但是现在假设我需要知道创建这个房间的房主信息(比如房主昵称,房主给房间自定义的名称,房间当前有多少玩家等等可自定义的信息),却无从下手了,我注意到这个类中有属性:CustomRoomProperties
,是否设置它既可呢,我做出这种猜想后,试想了这个值能在哪设置,可能就是该房主创建房间时,填充在RoomOptions中吧,但是结果却不是我想的,这里填充的值,LobbyRoom中并不会带过来,只会出现在LeanCloud.Play.Room中,所以我很好奇,LobbyRoom就只能得知到房间名和最大人数这几个信息吗?我如何通过它查找到创建者信息?如果确实是通过CustomRoomProperties添加自定义的信息,那么这个信息,在哪可以填入呢?
能帮助我吗?

你好,
在设置完 CustomRoomProperties 后,属性会存放在 Room 中,但是不会暴露到大厅里(考虑到同步的开销),如果需要在 Lobby 中访问(或匹配),请在 RoomOptions 的 CustoRoomPropertyKeysForLobby 声明出要暴露的 key。

示例代码如下:

RoomOptions options = new RoomOptions {
  CustomRoomProperties = new PlayObject {
    { "owner", "123" }
  },
  CustoRoomPropertyKeysForLobby = new System.Collections.Generic.List<string> { "owner" }
};
return c1.CreateRoom(roomOptions: options);
1 人赞了这个帖子.

啊,原来CustoRoomPropertyKeysForLobby 是这个用处, 试了下,没问题。

谢谢及时回复。