# TapBattleClient.UpdateRoomProperties
# 功能描述
更新房间属性,如房间名称、自定义属性等。只有房主可以调用。更新后房间内所有玩家(包括发送者自己)会收到OnRoomCustomPropertiesChanged事件。
频率限制: 与 SendCustomMessage 共享每秒15次的调用频率限制
# 方法签名
public static void UpdateRoomProperties(UpdateRoomPropertiesOption option)
# 参数说明
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data | UpdateRoomPropertiesData | 是 | 房间属性更新数据 |
| success | Action<TapCallbackResult> | 否 | 更新成功回调 |
| fail | Action<TapCallbackResult> | 否 | 更新失败回调 |
# UpdateRoomPropertiesData
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 房间名称 |
| customProperties | string | 否 | 自定义房间属性(JSON字符串,最大2048字节) |
# 使用说明
# 注意事项
- 权限要求 - 只有房主可以调用
- 频率限制 - 与SendCustomMessage共享每秒15次的调用频率限制
- 事件通知 - 更新后房间内所有玩家(包括发送者)都会收到OnRoomCustomPropertiesChanged事件
# 代码示例
# 示例:更新房间信息
using UnityEngine;
public class RoomPropertiesUpdater : MonoBehaviour
{
public void UpdateRoomInfo()
{
var properties = new {
gameMode = "hardcore",
timeLimit = 600,
allowSpectators = true
};
TapBattleClient.UpdateRoomProperties(new UpdateRoomPropertiesOption
{
data = new UpdateRoomPropertiesData
{
name = "高级对战房间",
customProperties = JsonUtility.ToJson(properties)
},
success = (result) => {
Debug.Log("房间属性更新成功");
}
});
}
public void OnRoomCustomPropertiesChanged(RoomCustomPropertiesNotification info)
{
Debug.Log($"房间 {info.room_id} 属性已更新: {info.custom_properties}");
}
}
