feat: 游戏房间
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
package com.webgame.webgamebackend.service;
|
||||
|
||||
import com.webgame.webgamebackend.common.dto.game.*;
|
||||
|
||||
/**
|
||||
* 游戏服务接口
|
||||
*/
|
||||
public interface GameService {
|
||||
|
||||
/**
|
||||
* 获取游戏列表
|
||||
*
|
||||
* @return 所有启用的游戏信息
|
||||
*/
|
||||
GameListResponse getGameList();
|
||||
|
||||
/**
|
||||
* 获取指定游戏的房间列表
|
||||
*
|
||||
* @param gameId 游戏标识
|
||||
* @param status 状态筛选(可选),不传返回所有未结束的房间
|
||||
* @return 房间列表
|
||||
*/
|
||||
RoomListResponse getRoomList(String gameId, String status);
|
||||
|
||||
/**
|
||||
* 创建房间
|
||||
*
|
||||
* @param request 创建房间请求
|
||||
* @param creatorId 房主 account_id
|
||||
* @return 新建的房间信息
|
||||
*/
|
||||
CreateRoomResponse createRoom(CreateRoomRequest request, String creatorId);
|
||||
|
||||
/**
|
||||
* 加入房间
|
||||
*
|
||||
* @param request 加入房间请求
|
||||
* @param userId 用户 account_id
|
||||
* @return 房间信息
|
||||
*/
|
||||
RoomItemResponse joinRoom(JoinRoomRequest request, String userId);
|
||||
|
||||
/**
|
||||
* 离开房间
|
||||
*
|
||||
* @param roomId 房间 ID
|
||||
* @param userId 用户 account_id
|
||||
*/
|
||||
void leaveRoom(String roomId, String userId);
|
||||
|
||||
/**
|
||||
* 房主踢出玩家
|
||||
*
|
||||
* @param roomId 房间 ID
|
||||
* @param ownerId 房主 account_id
|
||||
* @param targetUserId 目标用户 account_id
|
||||
*/
|
||||
void kickPlayer(String roomId, String ownerId, String targetUserId);
|
||||
|
||||
/**
|
||||
* 切换准备状态
|
||||
*
|
||||
* @param roomId 房间 ID
|
||||
* @param userId 用户 account_id
|
||||
* @return 切换后的准备状态
|
||||
*/
|
||||
boolean toggleReady(String roomId, String userId);
|
||||
|
||||
/**
|
||||
* 开始游戏
|
||||
*
|
||||
* @param roomId 房间 ID
|
||||
* @param ownerId 房主 account_id
|
||||
*/
|
||||
void startGame(String roomId, String ownerId);
|
||||
}
|
||||
Reference in New Issue
Block a user