42_ft_transcendence/django/games/objects/GameManager.py
2024-05-14 08:50:37 +02:00

34 lines
1.0 KiB
Python

from ..models import GameModel
from .pong.PongGame import PongGame
from .tictactoe.TicTacToeGame import TicTacToeGame
class GameManager():
def __init__(self) -> None:
self._game_list: list[PongGame | TicTacToeGame] = []
def remove(self, game: PongGame | TicTacToeGame) -> None:
if (game not in self._game_list):
return
self._game_list.remove(game)
def get(self, game_id: int, game_type: str) -> TicTacToeGame | PongGame:
if (not GameModel.objects.filter(pk=game_id, finished=False, game_type=game_type).exists()):
return None
for game in self._game_list:
game: PongGame | TicTacToeGame
if (game.game_id == game_id):
return game
game: PongGame | TicTacToeGame
if (game_type == "pong"):
game = PongGame(game_id, self)
elif (game_type == "tictactoe"):
game = TicTacToeGame(game_id, self)
self._game_list.append(game)
return game