49 lines
1.0 KiB
C#
49 lines
1.0 KiB
C#
namespace MauMau_Server.Websockets;
|
|
|
|
public class RoomManager : IRoomManager
|
|
{
|
|
private static readonly Dictionary<string, Room> Rooms = new();
|
|
|
|
public string CreateRoom()
|
|
{
|
|
var roomId = Guid.NewGuid().ToString();
|
|
var room = new Room();
|
|
Rooms.Add(roomId, room);
|
|
return roomId;
|
|
}
|
|
|
|
public Room GetRoom(string roomId)
|
|
{
|
|
return Rooms[roomId];
|
|
}
|
|
|
|
public List<string> GetAllRooms()
|
|
{
|
|
return Rooms.Keys.ToList();
|
|
}
|
|
|
|
public void RemoveRoom(string roomId)
|
|
{
|
|
Rooms.Remove(roomId);
|
|
}
|
|
|
|
public bool RoomExists(string roomId)
|
|
{
|
|
return Rooms.ContainsKey(roomId);
|
|
}
|
|
|
|
public void RemoveAllRooms()
|
|
{
|
|
Rooms.Clear();
|
|
}
|
|
}
|
|
|
|
public interface IRoomManager
|
|
{
|
|
public string CreateRoom();
|
|
public Room GetRoom(string roomId);
|
|
public List<string> GetAllRooms();
|
|
public void RemoveRoom(string roomId);
|
|
public bool RoomExists(string roomId);
|
|
public void RemoveAllRooms();
|
|
} |