/// <summary>
 ///     Constructor.
 /// </summary>
 /// <param name="gameRoundDataManager">Game Round Data manager</param>
 /// <param name="gameRoundLockManager">Game Lock manager.</param>
 /// <param name="gameStatisticsPublisher">Game stats publisher.</param>
 /// <param name="logger">Logging.</param>
 public NoMoreBetsEventHandler(IGameRoundDataManager gameRoundDataManager,
                               IObjectLockManager <GameRoundId> gameRoundLockManager,
                               IGameStatisticsPublisher gameStatisticsPublisher,
                               ILogger <NoMoreBetsEventHandler> logger)
     : base(gameRoundDataManager: gameRoundDataManager, gameRoundLockManager: gameRoundLockManager, logger: logger)
 {
     this._gameStatisticsPublisher = gameStatisticsPublisher ?? throw new ArgumentNullException(nameof(gameStatisticsPublisher));
 }
 /// <summary>
 ///     Constructor.
 /// </summary>
 /// <param name="gameStatisticsPublisher">Game stats web socket publisher</param>
 /// <param name="gameRoundDataManager">Game Round Data manager</param>
 /// <param name="gameRoundLockManager">Game Round Lock manager.</param>
 /// <param name="gameRoundTimeCalculator">Game Round time calculator.</param>
 /// <param name="dateTimeSource">Source of time.</param>
 /// <param name="logger">Logging.</param>
 public StartGameRoundEventHandler(IGameStatisticsPublisher gameStatisticsPublisher,
                                   IGameRoundDataManager gameRoundDataManager,
                                   IObjectLockManager <GameRoundId> gameRoundLockManager,
                                   IGameRoundTimeCalculator gameRoundTimeCalculator,
                                   IDateTimeSource dateTimeSource,
                                   ILogger <StartGameRoundEventHandler> logger)
     : base(gameRoundDataManager: gameRoundDataManager, gameRoundLockManager: gameRoundLockManager, logger: logger)
 {
     this._gameStatisticsPublisher = gameStatisticsPublisher ?? throw new ArgumentNullException(nameof(gameStatisticsPublisher));
     this._gameRoundTimeCalculator = gameRoundTimeCalculator ?? throw new ArgumentNullException(nameof(gameRoundTimeCalculator));
     this._dateTimeSource          = dateTimeSource ?? throw new ArgumentNullException(nameof(dateTimeSource));
 }
示例#3
0
        /// <summary>
        ///     Constructor.
        /// </summary>
        /// <param name="gameRoundDataManager">Game round data manager</param>
        /// <param name="randomSource">Random source</param>
        /// <param name="transactionService">Transaction service</param>
        /// <param name="hasher">Hasher</param>
        /// <param name="contractInfoRegistry">Contract info registry.</param>
        /// <param name="gameStatisticsPublisher">The game stats publisher</param>
        /// <param name="lowBalanceWatcher">Low balance watcher</param>
        /// <param name="logger">Logger</param>
        public GameManager(IGameRoundDataManager gameRoundDataManager,
                           IRandomSource randomSource,
                           ITransactionService transactionService,
                           IHasher hasher,
                           IContractInfoRegistry contractInfoRegistry,
                           IGameStatisticsPublisher gameStatisticsPublisher,
                           ILowBalanceWatcher lowBalanceWatcher,
                           ILogger <GameManager> logger)
        {
            this._gameRoundDataManager = gameRoundDataManager ?? throw new ArgumentNullException(nameof(gameRoundDataManager));
            this._randomSource         = randomSource ?? throw new ArgumentNullException(nameof(randomSource));
            this._transactionService   = transactionService ?? throw new ArgumentNullException(nameof(transactionService));
            this._hasher = hasher ?? throw new ArgumentNullException(nameof(hasher));
            this._logger = logger ?? throw new ArgumentNullException(nameof(logger));
            this._gameStatisticsPublisher = gameStatisticsPublisher ?? throw new ArgumentNullException(nameof(gameStatisticsPublisher));
            this._lowBalanceWatcher       = lowBalanceWatcher ?? throw new ArgumentNullException(nameof(lowBalanceWatcher));

            this._gameManager = contractInfoRegistry.FindContractInfo(WellKnownContracts.GameManager);
        }