# TapBattleClient.LeaveRoom

# 功能描述

离开当前所在的房间。对战结束后或不想继续游戏时调用。如果离开的是房主,房间会自动解散。

# 方法签名

public static void LeaveRoom(LeaveRoomOption option)

# 参数说明

# LeaveRoomOption

参数名 类型 必填 说明
success Action<TapCallbackResult> 离开成功回调
fail Action<TapCallbackResult> 离开失败回调
complete Action<TapCallbackResult> 离开完成回调

# 使用说明

# 适用场景

  • 对战结束后离开房间
  • 匹配取消,离开等待中的房间
  • 退出游戏前清理

# 注意事项

  • 房主离开则解散 - 如果房主离开,房间自动解散
  • 帧同步中不能离开 - 帧同步进行中建议先StopFrameSync,再LeaveRoom
  • 自动触发事件 - 离开房间会触发其他玩家的OnPlayerLeft事件

# 代码示例

# 示例1:基础离开

using UnityEngine;

public class RoomController : MonoBehaviour
{
    public void LeaveCurrentRoom()
    {
        TapBattleClient.LeaveRoom(new LeaveRoomOption
        {
            success = (result) => {
                Debug.Log("成功离开房间");
                ReturnToMainMenu();
            },
            fail = (result) => {
                Debug.LogError($"离开房间失败: {result.errMsg}");
            }
        });
    }

    private void ReturnToMainMenu() {
        // 返回主菜单逻辑
    }
}

# 最佳实践

  1. 对战后离开 - 对战结束后及时调用LeaveRoom
  2. 提供取消按钮 - 在等待匹配时提供取消按钮,让用户可以离开
  3. 错误处理 - 即使离开失败,也应该清理本地状态
  4. UI反馈 - 离开成功后更新UI,返回到合适的界面

# 相关API