# 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() {
// 返回主菜单逻辑
}
}
# 最佳实践
- 对战后离开 - 对战结束后及时调用LeaveRoom
- 提供取消按钮 - 在等待匹配时提供取消按钮,让用户可以离开
- 错误处理 - 即使离开失败,也应该清理本地状态
- UI反馈 - 离开成功后更新UI,返回到合适的界面
# 相关API
- TapBattleClient.CreateRoom - 创建房间
- TapBattleClient.MatchRoom - 匹配房间
- TapBattleClient.StopFrameSync - 停止帧同步
