# TapBattleClient.KickRoomPlayer
# 功能描述
踢出房间内指定的玩家。只有房主可以调用此方法,且只能在未开始对战时使用。
# 方法签名
public static void KickRoomPlayer(KickRoomPlayerOption option)
# 参数说明
# KickRoomPlayerOption
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data | KickRoomPlayerData | 是 | 踢人请求数据 |
| success | Action<TapCallbackResult> | 否 | 踢出成功回调 |
| fail | Action<TapCallbackResult> | 否 | 踢出失败回调 |
| complete | Action<TapCallbackResult> | 否 | 踢出完成回调 |
# KickRoomPlayerData
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| playerId | string | 是 | 要踢出的玩家ID |
# 使用说明
# 权限要求
- 仅房主可用 - 只有房主才能踢出玩家
- 未开战时 - 只能在对战开始前使用,对战中不能踢人
# 注意事项
- 触发事件 - 被踢的玩家会收到OnPlayerKicked事件
- 其他玩家通知 - 房间内其他玩家会收到OnPlayerLeft事件
- 不能踢自己 - 不能踢出自己,如果要离开请使用LeaveRoom
# 代码示例
# 示例1:基础踢人
using UnityEngine;
public class RoomHostController : MonoBehaviour
{
public void KickPlayer(string targetPlayerId)
{
TapBattleClient.KickRoomPlayer(new KickRoomPlayerOption
{
data = new KickRoomPlayerData
{
playerId = targetPlayerId
},
success = (result) => {
Debug.Log($"成功踢出玩家: {targetPlayerId}");
},
fail = (result) => {
Debug.LogError($"踢出玩家失败: {result.errMsg}");
}
});
}
}
# 最佳实践
- 权限检查 - 调用前确认自己是房主
- 确认对话框 - 踢人前弹出确认对话框,避免误操作
- 友好提示 - 给被踢的玩家显示合适的提示信息
- 更新UI - 踢出成功后及时更新房间玩家列表
# 相关API
- TapBattleClient.LeaveRoom - 主动离开房间
- ITapBattleEventHandler - OnPlayerKicked事件
