public Game(int gameId, IGameUserManager gameUserManager, IGameMessageHandler gameMessageHandler) { gameStatus = GameStatus.Idle; this.gameUserManager = gameUserManager; this.gameMessageHandler = gameMessageHandler; this.gameUserManager.UserDisconnected += OnUserDisconnected; }
public bool CreateGame(int gameId, User host) { try { IGameUserManager gameUserManager = ServiceFactory.CreateGameUserManager(webSocketHandler, host); IGameMessageHandler gameMessageHandler = ServiceFactory.CreateGameMessageHandler(gameUserManager, webSocketHandler); var game = new MapGame(gameId, gameUserManager, gameMessageHandler); var isSuccess = games.TryAdd(gameId, game); return(isSuccess); } catch { return(false); } }
public MapGame(int gameId, IGameUserManager gameUserManager, IGameMessageHandler gameMessageHandler) : base(gameId, gameUserManager, gameMessageHandler) { }
public override void VisitHandler(IGameMessageHandler handler) { handler.OnMessage(this); }
public abstract void VisitHandler(IGameMessageHandler handler);