from typing import Optional from hopper.engine import GameEngine, GameEngineFactory from hopper.ws_server import WSServer from settings import settings game_engine: Optional[GameEngine] = None def create_game_engine() -> GameEngine: global game_engine if game_engine: raise RuntimeError("Can't call create_game_engine() more than once!") ws_server = WSServer( host=settings.ws_server.HOST, port=settings.ws_server.PORT, ) ws_server.start() game_engine = GameEngineFactory.create_default(ws_server=ws_server) return game_engine def get_game_engine() -> GameEngine: return game_engine