From 83e363f7c767cdfdc055d2c8e758e6cfca2ae481 Mon Sep 17 00:00:00 2001 From: steev Date: Mon, 18 Dec 2023 08:43:33 +0100 Subject: [PATCH] moved queue management to own class --- Game Server/Classes/System/PlayerManager.py | 20 +------------ Game Server/Classes/System/QueueManager.py | 32 +++++++++++++++++++++ Game Server/Classes/System/Server.py | 14 +++++---- 3 files changed, 42 insertions(+), 24 deletions(-) create mode 100644 Game Server/Classes/System/QueueManager.py diff --git a/Game Server/Classes/System/PlayerManager.py b/Game Server/Classes/System/PlayerManager.py index 838ae45..297a24a 100644 --- a/Game Server/Classes/System/PlayerManager.py +++ b/Game Server/Classes/System/PlayerManager.py @@ -2,28 +2,10 @@ import json from Classes.Objects.Player import Player class Player: - __queue:list __users:list + def __init__(self): - self.__queue = [] self.__users = [] - - def getQueue(self) -> list: - return self.__queue - - def addToQueue(self, user): - if self.isInQueue(user["id"]): - self.__queue.append(user) - - def isInQueue(self, user:int) -> bool: - for user in self.__queue: - if int(user["id"]) == user: - return user - - def isInQueue(self, user:str) -> bool: - for user in self.__queue: - if user["username"] == user: - return user def createUser(self, user:json): self.__users.append(user) diff --git a/Game Server/Classes/System/QueueManager.py b/Game Server/Classes/System/QueueManager.py new file mode 100644 index 0000000..d0b3adf --- /dev/null +++ b/Game Server/Classes/System/QueueManager.py @@ -0,0 +1,32 @@ +from Classes.Objects.Player import Player + + +class QueueManager: + __queue:list + + def __init__(self): + self.__queue = [] + + def getQueue(self) -> list: + return self.__queue + + def addToQueue(self, user) -> list: + if self.isInQueue(user["id"]): + self.__queue.append(user) + return self.__queue + + def removeFromQueue(self, player:Player) -> list: + self.__queue.remove(player) + return self.__queue + + def isInQueue(self, user:int) -> bool: + for user in self.__queue: + if int(user["id"]) == user: + return True + return False + + def isInQueue(self, user:str) -> bool: + for user in self.__queue: + if user["username"] == user: + return True + return False \ No newline at end of file diff --git a/Game Server/Classes/System/Server.py b/Game Server/Classes/System/Server.py index 9e96425..50a8fc8 100644 --- a/Game Server/Classes/System/Server.py +++ b/Game Server/Classes/System/Server.py @@ -18,6 +18,8 @@ class Server: self.__udpPort = udpPort self.__tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.__udpSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + self.__UDPClientThread = None + self.__TCPClientThread = None self.startServer() @@ -105,15 +107,17 @@ class Server: pass def handleUDPEvents(self, event): - if event["event"] == "placeCard": + if event["event"] == "placecard": pass - elif event["event"] == "removeCard": + elif event["event"] == "movecard": pass - elif event["event"] == "attackCard": + elif event["event"] == "removecard": pass - elif event["event"] == "attackPlayer": + elif event["event"] == "attackcard": pass - elif event["event"] == "activateeffectCard": + elif event["event"] == "attackplayer": + pass + elif event["event"] == "activateeffectcard": pass elif event["event"] == "activatemonstereffect": pass