56 lines
1.2 KiB
Java
56 lines
1.2 KiB
Java
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;
|
|
|
|
/**
|
|
* [类的简要说明]
|
|
* <p>
|
|
* [详细描述,可选]
|
|
* <p>
|
|
*
|
|
* @author LiDongYU
|
|
* @since 2025/7/22
|
|
*/
|
|
public class RoomManager {
|
|
|
|
private static final Map<String, Room> 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);
|
|
}
|
|
}
|
|
}
|