# 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}");
    }
}