コード例 #1
0
 public KikMessageExecutor(IPlayerDatabaseController playerController, IAccountController accountController, IReporter reporter, IGameExecutor gameExecutor)
 {
     _playerController  = playerController;
     _accountController = accountController;
     _reporter          = reporter;
     _gameExecutor      = gameExecutor;
 }
コード例 #2
0
 public TelegramBotOverseer(IGameExecutor gameExecutor, IReporter reporter, IPlayerDatabaseController playerDatabaseController, IAccountController accountController)
 {
     _reporter                 = reporter;
     _gameExecutor             = gameExecutor;
     _accountController        = accountController;
     _playerDatabaseController = playerDatabaseController;
 }
コード例 #3
0
 public DiscordMessageHandler(IPlayerDatabaseController playerDatabaseController, IGameExecutor gameExecutor, IAccountController accountController, IReporter reporter)
 {
     _playerDatabaseController = playerDatabaseController;
     _gameExecutor             = gameExecutor;
     _accountController        = accountController;
     _reporter = reporter;
 }
コード例 #4
0
 public void Unsubscribe(IGameExecutor <T> gameAction)
 {
     if (gameActions.Contains(gameAction))
     {
         gameActions.Remove(gameAction);
     }
 }
コード例 #5
0
 public void Subscribe(IGameExecutor <T> gameAction)
 {
     if (gameActions.Contains(gameAction))
     {
         return;
     }
     gameActions.Add(gameAction);
 }
コード例 #6
0
        /// <summary>
        /// Creates server for a multiplayer game.
        /// </summary>
        public void InitMultiplayerServer()
        {
            InitCommon();
            Server s = networkOperator.RunServer();

            gameExecutor = new MultiplayerServerCommandsExecutor(gameState, s);
            gameExecutor.Execute(new JoinGameCommand(true, PlayerType.HUMAN, "ServerMaster"));
            Debug.Log("Inited multiplayer server");
        }
コード例 #7
0
        /// <summary>
        /// Initializes client and automatically joins a multiplayer game.
        /// </summary>

        public void InitMultiplayerClient()
        {
            InitCommon();
            Client c = networkOperator.JoinGame(ref gameState);

            gameExecutor = new MultiplayerClientCommandsExecutor(gameState, c);
            gameExecutor.Execute(new JoinGameCommand(false, PlayerType.HUMAN, "GuestPlayer"));
            Debug.Log("Inited multiplayer client");
        }
コード例 #8
0
        /// <summary>
        /// Creates one-player server for a singleplayer.
        /// </summary>
        public void InitSingleplayer()
        {
            gameState = new GameState();
            networkOperator.maxPlayers = 0;
            Server s = networkOperator.RunServer();

            gameExecutor = new MultiplayerServerCommandsExecutor(gameState, s);
            gameExecutor.Execute(new JoinGameCommand(true, PlayerType.HUMAN, "LocalPlayer"));
            Debug.Log("Inited singleplayer");
        }
コード例 #9
0
 public GameMessageController(IGameExecutor gameExecutor, IReporter reporter, IPlayerDatabaseController playerDatabaseController,
                              IAccountController accountController, ITokenGenerator tokenGenerator, IHttpContextAccessor contextAccessor)
 {
     _reporter                 = reporter;
     _gameExecutor             = gameExecutor;
     _accountController        = accountController;
     _playerDatabaseController = playerDatabaseController;
     _tokenGenerator           = tokenGenerator;
     _contextAccessor          = contextAccessor;
 }
コード例 #10
0
        public DiscordBotCommunicator(IReporter reporter, IGoogleDriveService gdriveService, IAccountController accountController, IPlayerDatabaseController playerDatabaseController,
                                      IGameExecutor gameExecutor, IConfigurationService configurationService)
        {
            _reporter                 = reporter;
            _accountController        = accountController;
            _playerDatabaseController = playerDatabaseController;
            _gameExecutor             = gameExecutor;
            _configService            = configurationService;

            _reporter.Initialise();
        }
コード例 #11
0
 /// <summary>
 /// DefaultGameSimulation constructor.
 /// </summary>
 /// <param name="executor">Executor that will execute commands on gameState</param>
 /// <param name="gameState">Must be a GameState used by the executor!</param>
 public DefaultGameSimulation(IGameExecutor executor, GameState gameState)
 {
     this.executor  = executor;
     this.gameState = gameState;
 }
コード例 #12
0
 public TelegramCommunicator(IConfigurationService configService, IPlayerDatabaseController playerDatabaseController,
                             IReporter reporter, IAccountController accountController, IGoogleDriveService gdriveService, IGameExecutor gameExecutor)
 {
     _service  = new TelegramService(configService.GetConfig("TelegramUrl"), configService.GetConfig("TelegramApiKey", true));
     _reporter = reporter;
 }