package com.hivekion.room; import com.hivekion.baseData.entity.Scenario; import com.hivekion.room.bean.Room; import com.hivekion.room.func.TaskAction; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledExecutorService; /** * [类的简要说明] *

* [详细描述,可选] *

* * @author LiDongYU * @since 2025/7/22 */ public class RoomManager { private static final Map roomsMap = new ConcurrentHashMap<>(); public static void startRoom(String id, Scenario scenario, long time) { Room room = new Room(id, scenario); roomsMap.put(id, room); room.start(time); } public static void stopRoom(String id) { Room room = roomsMap.get(id); if (room != null) { room.stop(); } } public static void pauseRoom(String id) { Room room = roomsMap.get(id); if (room != null) { room.pause(); } } public static void resumeRoom(String id) { Room room = roomsMap.get(id); if (room != null) { room.resume(); } } public static void addAction(String id, long time, TaskAction action) { Room room = roomsMap.get(id); if (room != null) { room.addAction(time, action); } } public static long getRoomDuringTime(String id) { Room room = roomsMap.get(id); if (room != null) { return room.getDuringTime(); } return 0; } public static void addFuture(ScheduledExecutorService future, String roomId) { Room room = roomsMap.get(roomId); if (room != null) { room.addTaskReference(future); } } public static boolean isRunning(String id) { Room room = roomsMap.get(id); if (room != null) { return room.isRunning(); } return false; } }