public SkuckCardGameMainGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, SkuckCardGameVMData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, ICardInfo <SkuckCardGameCardInformation> cardInfo, CommandContainer command, SkuckCardGameGameContainer gameContainer, ITrickData trickData, ITrickPlay trickPlay, IAdvancedTrickProcesses aTrick, IBidProcesses bidProcesses, IPlayChoiceProcesses choiceProcesses, ITrumpProcesses trumpProcesses ) : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer, trickData, trickPlay) { _model = currentMod; _command = command; _gameContainer = gameContainer; _aTrick = aTrick; _bidProcesses = bidProcesses; _choiceProcesses = choiceProcesses; _trumpProcesses = trumpProcesses; _gameContainer.ComputerTurnAsync = ComputerTurnAsync; _gameContainer.StartNewTrickAsync = StartNewTrickAsync; _gameContainer.ShowHumanCanPlayAsync = ShowHumanCanPlayAsync; }
/// <summary> /// Initializes a new instance of the <see cref="InstanceManager"/> class. /// </summary> /// <param name="instanceFactory">The value of <see cref="instanceFactory"/>.</param> /// <param name="ioManager">The value of <paramref name="ioManager"/>.</param> /// <param name="databaseContextFactory">The value of <paramref name="databaseContextFactory"/>.</param> /// <param name="assemblyInformationProvider">The value of <see cref="assemblyInformationProvider"/>.</param> /// <param name="jobManager">The value of <see cref="jobManager"/>.</param> /// <param name="serverControl">The value of <see cref="serverControl"/>.</param> /// <param name="systemIdentityFactory">The value of <see cref="systemIdentityFactory"/>.</param> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/>.</param> /// <param name="serverPortProvider">The value of <see cref="serverPortProvider"/>.</param> /// <param name="swarmService">The value of <see cref="swarmService"/>.</param> /// <param name="generalConfigurationOptions">The <see cref="IOptions{TOptions}"/> containing the value of <see cref="generalConfiguration"/>.</param> /// <param name="swarmConfigurationOptions">The <see cref="IOptions{TOptions}"/> containing the value of <see cref="swarmConfiguration"/>.</param> /// <param name="logger">The value of <see cref="logger"/>.</param> public InstanceManager( IInstanceFactory instanceFactory, IIOManager ioManager, IDatabaseContextFactory databaseContextFactory, IAssemblyInformationProvider assemblyInformationProvider, IJobManager jobManager, IServerControl serverControl, ISystemIdentityFactory systemIdentityFactory, IAsyncDelayer asyncDelayer, IServerPortProvider serverPortProvider, ISwarmService swarmService, IOptions <GeneralConfiguration> generalConfigurationOptions, IOptions <SwarmConfiguration> swarmConfigurationOptions, ILogger <InstanceManager> logger) { this.instanceFactory = instanceFactory ?? throw new ArgumentNullException(nameof(instanceFactory)); this.ioManager = ioManager ?? throw new ArgumentNullException(nameof(ioManager)); this.databaseContextFactory = databaseContextFactory ?? throw new ArgumentNullException(nameof(databaseContextFactory)); this.assemblyInformationProvider = assemblyInformationProvider ?? throw new ArgumentNullException(nameof(assemblyInformationProvider)); this.jobManager = jobManager ?? throw new ArgumentNullException(nameof(jobManager)); this.serverControl = serverControl ?? throw new ArgumentNullException(nameof(serverControl)); this.systemIdentityFactory = systemIdentityFactory ?? throw new ArgumentNullException(nameof(systemIdentityFactory)); this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); this.serverPortProvider = serverPortProvider ?? throw new ArgumentNullException(nameof(serverPortProvider)); this.swarmService = swarmService ?? throw new ArgumentNullException(nameof(swarmService)); generalConfiguration = generalConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(generalConfigurationOptions)); swarmConfiguration = swarmConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(swarmConfigurationOptions)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); instances = new Dictionary <long, InstanceContainer>(); bridgeHandlers = new Dictionary <string, IBridgeHandler>(); readyTcs = new TaskCompletionSource <object>(); instanceStateChangeSemaphore = new SemaphoreSlim(1); }
public DiceGameClass( IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, IBasicDiceGamesData <D> currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, CommandContainer command, BasicGameContainer <P, S> gameContainer, StandardRollProcesses <D, P> roller ) : base( mainContainer, aggregator, basicData, test, currentMod, state, delay, command, gameContainer) { _model = currentMod; Roller = roller; Roller.CurrentPlayer = (() => SingleInfo !); Roller.AfterRollingAsync = AfterRollingAsync; Roller.AfterSelectUnselectDiceAsync = AfterSelectUnselectDiceAsync; //not sure about the before roll and whether it can roll (iffy). }
public BasicGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, IViewModelData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, CommandContainer command, BasicGameContainer <P, S> gameContainer ) { MainContainer = mainContainer; Aggregator = aggregator; BasicData = basicData; Test = test; _currentMod = currentMod; State = state; Delay = delay; _command = command; _gameContainer = gameContainer; SaveRoot = mainContainer.Resolve <S>(); //i think this would be fine (?) PlayerList = SaveRoot.PlayerList; gameContainer.EndTurnAsync = EndTurnAsync; gameContainer.ContinueTurnAsync = ContinueTurnAsync; gameContainer.ShowWinAsync = ShowWinAsync; gameContainer.StartNewTurnAsync = StartNewTurnAsync; gameContainer.SaveStateAsync = SaveStateAsync; //if i need anything else, rethink. Network = gameContainer.Network; Check = gameContainer.Check; }
public RageCardGameMainGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, RageCardGameVMData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, ICardInfo <RageCardGameCardInformation> cardInfo, CommandContainer command, RageCardGameGameContainer gameContainer, ITrickData trickData, ITrickPlay trickPlay, IAdvancedTrickProcesses aTrick, IColorProcesses colorProcesses, IBidProcesses bidProcesses, RageDelgates delgates ) : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer, trickData, trickPlay) { _model = currentMod; _command = command; _gameContainer = gameContainer; _aTrick = aTrick; _colorProcesses = colorProcesses; _bidProcesses = bidProcesses; _delgates = delgates; delgates.CardsToPassOut = (() => SaveRoot.CardsToPassOut); }
/// <summary> /// Construct an <see cref="InstanceManager"/> /// </summary> /// <param name="instanceFactory">The value of <see cref="instanceFactory"/></param> /// <param name="ioManager">The value of <paramref name="ioManager"/></param> /// <param name="databaseContextFactory">The value of <paramref name="databaseContextFactory"/></param> /// <param name="assemblyInformationProvider">The value of <see cref="assemblyInformationProvider"/></param> /// <param name="jobManager">The value of <see cref="jobManager"/></param> /// <param name="serverControl">The value of <see cref="serverControl"/></param> /// <param name="systemIdentityFactory">The value of <see cref="systemIdentityFactory"/>.</param> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/>.</param> /// <param name="generalConfigurationOptions">The <see cref="IOptions{TOptions}"/> containing the value of <see cref="generalConfiguration"/>.</param> /// <param name="logger">The value of <see cref="logger"/></param> public InstanceManager( IInstanceFactory instanceFactory, IIOManager ioManager, IDatabaseContextFactory databaseContextFactory, IAssemblyInformationProvider assemblyInformationProvider, IJobManager jobManager, IServerControl serverControl, ISystemIdentityFactory systemIdentityFactory, IAsyncDelayer asyncDelayer, IOptions <GeneralConfiguration> generalConfigurationOptions, ILogger <InstanceManager> logger) { this.instanceFactory = instanceFactory ?? throw new ArgumentNullException(nameof(instanceFactory)); this.ioManager = ioManager ?? throw new ArgumentNullException(nameof(ioManager)); this.databaseContextFactory = databaseContextFactory ?? throw new ArgumentNullException(nameof(databaseContextFactory)); this.assemblyInformationProvider = assemblyInformationProvider ?? throw new ArgumentNullException(nameof(assemblyInformationProvider)); this.jobManager = jobManager ?? throw new ArgumentNullException(nameof(jobManager)); this.serverControl = serverControl ?? throw new ArgumentNullException(nameof(serverControl)); this.systemIdentityFactory = systemIdentityFactory ?? throw new ArgumentNullException(nameof(systemIdentityFactory)); this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); generalConfiguration = generalConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(generalConfigurationOptions)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); serverControl.RegisterForRestart(this); instances = new Dictionary <long, IInstance>(); bridgeHandlers = new Dictionary <string, IBridgeHandler>(); readyTcs = new TaskCompletionSource <object>(); }
public ChessGameContainer( BasicData basicData, TestOptions test, IGameInfo gameInfo, IAsyncDelayer delay, IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver, RandomGenerator random) : base(basicData, test, gameInfo, delay, aggregator, command, resolver, random) { Animates = new AnimateSkiaSharpGameBoard(); if (BasicData.IsXamarinForms == false) { Animates.LongestTravelTime = 200; } else { Animates.LongestTravelTime = 75; } CurrentCrowned = false; CurrentPiece = EnumPieceType.None; }
public MancalaMainGameClass(IGamePackageResolver resolver, IEventAggregator aggregator, BasicData basic, TestOptions test, MancalaVMData model, IMultiplayerSaveState state, IAsyncDelayer delay, CommandContainer command, GameBoardProcesses gameBoard, BasicGameContainer <MancalaPlayerItem, MancalaSaveInfo> gameContainer ) : base(resolver, aggregator, basic, test, model, state, delay, command, gameContainer) { _model = model; _command = command; _gameBoard = gameBoard; _gameBoard.PlayerList = GetPlayerList; _gameBoard.SingleInfo = GetCurrentPlayer; _gameBoard.SetCurrentPlayer = ((x) => SingleInfo = x); _gameBoard.EndTurnAsync = EndTurnAsync; _gameBoard.WhoTurn = GetWhoTurn; _gameBoard.ContinueTurnAsync = ContinueTurnAsync; _gameBoard.ShowWinAsync = ShowWinAsync; _gameBoard.ShowTieAsync = ShowTieAsync; _gameBoard.SaveRoot = GetSaveInfo; GameBoardGraphicsCP.CreateSpaceList(_model); }
public RookMainGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, RookVMData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, ICardInfo <RookCardInformation> cardInfo, CommandContainer command, RookGameContainer gameContainer, ITrickData trickData, ITrickPlay trickPlay, IAdvancedTrickProcesses aTrick, IBidProcesses bidProcesses, ITrumpProcesses trumpProcesses, INestProcesses nestProcesses ) : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer, trickData, trickPlay) { _model = currentMod; _command = command; _gameContainer = gameContainer; _aTrick = aTrick; _bidProcesses = bidProcesses; _trumpProcesses = trumpProcesses; _nestProcesses = nestProcesses; _gameContainer.StartNewTrickAsync = StartNewTrickAsync; _gameContainer.StartingStatus = (() => this.StartingStatus()); }
/// <summary> /// Construct an <see cref="IdentityCache"/> /// </summary> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/></param> /// <param name="logger">The value of <see cref="logger"/></param> public IdentityCache(IAsyncDelayer asyncDelayer, ILogger <IdentityCache> logger) { this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); cachedIdentities = new Dictionary <long, IdentityCacheObject>(); }
public XactikaMainGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, XactikaVMData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, ICardInfo <XactikaCardInformation> cardInfo, CommandContainer command, XactikaGameContainer gameContainer, ITrickData trickData, ITrickPlay trickPlay, IAdvancedTrickProcesses aTrick, IBidProcesses bidProcesses, IShapeProcesses shapeProcesses, IModeProcesses modeProcesses ) : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer, trickData, trickPlay) { _model = currentMod; _command = command; _gameContainer = gameContainer; _aTrick = aTrick; _bidProcesses = bidProcesses; _shapeProcesses = shapeProcesses; _modeProcesses = modeProcesses; _gameContainer.StartNewTrickAsync = StartNewTrickAsync; _gameContainer.ShowHumanCanPlayAsync = ShowHumanCanPlayAsync; _gameContainer.ShowTurn = (() => this.ShowTurn()); }
/// <summary> /// Initializes a new instance of the <see cref="BasicWatchdog"/> <see langword="class"/>. /// </summary> /// <param name="chat">The <see cref="IChatManager"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="sessionControllerFactory">The <see cref="ISessionControllerFactory"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="dmbFactory">The <see cref="IDmbFactory"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="reattachInfoHandler">The <see cref="IReattachInfoHandler"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="databaseContextFactory">The <see cref="IDatabaseContextFactory"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="jobManager">The <see cref="IJobManager"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="serverControl">The <see cref="IServerControl"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="asyncDelayer">The <see cref="IAsyncDelayer"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="logger">The <see cref="ILogger"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="initialLaunchParameters">The <see cref="DreamDaemonLaunchParameters"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="instance">The <see cref="Api.Models.Instance"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="autoStart">The autostart value for the <see cref="WatchdogBase"/>.</param> public BasicWatchdog( IChatManager chat, ISessionControllerFactory sessionControllerFactory, IDmbFactory dmbFactory, IReattachInfoHandler reattachInfoHandler, IDatabaseContextFactory databaseContextFactory, IJobManager jobManager, IServerControl serverControl, IAsyncDelayer asyncDelayer, ILogger <BasicWatchdog> logger, DreamDaemonLaunchParameters initialLaunchParameters, Api.Models.Instance instance, bool autoStart) : base( chat, sessionControllerFactory, dmbFactory, reattachInfoHandler, databaseContextFactory, jobManager, serverControl, asyncDelayer, logger, initialLaunchParameters, instance, autoStart) { }
/// <summary> /// Construct a <see cref="TokenFactory"/> /// </summary> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/></param> /// <param name="cryptographySuite">The <see cref="ICryptographySuite"/> used for generating the <see cref="ValidationParameters"/></param> /// <param name="assemblyInformationProvider">The <see cref="IAssemblyInformationProvider"/> used to generate the issuer name.</param> public TokenFactory( IAsyncDelayer asyncDelayer, ICryptographySuite cryptographySuite, IAssemblyInformationProvider assemblyInformationProvider) { ValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(cryptographySuite.GetSecureBytes(TokenSigningKeyByteAmount)), ValidateIssuer = true, ValidIssuer = assemblyInformationProvider.Name.Name, ValidateLifetime = true, ValidateAudience = true, ValidAudience = typeof(Token).Assembly.GetName().Name, ClockSkew = TimeSpan.FromMinutes(TokenClockSkewMinutes), RequireSignedTokens = true, RequireExpirationTime = true }; this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); }
public ThinkTwiceMainGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, ThinkTwiceVMData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, CommandContainer command, ThinkTwiceGameContainer gameContainer, StandardRollProcesses <SimpleDice, ThinkTwicePlayerItem> roller, ScoreLogic scoreLogic, CategoriesDice categoriesDice, Multiplier multiplier ) : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, command, gameContainer, roller) { _model = currentMod; //if not needed, take this out and the _model variable. _scoreLogic = scoreLogic; _categoriesDice = categoriesDice; _multiplier = multiplier; roller.BeforeRollingAsync = BeforeRollingAsync; roller.CanRollAsync = CanRollAsync; gameContainer.ScoreClickAsync = ScoreClickedAsync; gameContainer.CategoryClicked = CategoryClickedAsync; }
/// <summary> /// Construct a <see cref="ChatManager"/> /// </summary> /// <param name="providerFactory">The value of <see cref="providerFactory"/></param> /// <param name="ioManager">The value of <see cref="ioManager"/></param> /// <param name="commandFactory">The value of <see cref="commandFactory"/></param> /// <param name="serverControl">The <see cref="IServerControl"/> to populate <see cref="restartRegistration"/> with</param> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/></param> /// <param name="loggerFactory">The value of <see cref="loggerFactory"/></param> /// <param name="logger">The value of <see cref="logger"/></param> /// <param name="initialChatBots">The <see cref="IEnumerable{T}"/> used to populate <see cref="activeChatBots"/></param> public ChatManager(IProviderFactory providerFactory, IIOManager ioManager, ICommandFactory commandFactory, IServerControl serverControl, IAsyncDelayer asyncDelayer, ILoggerFactory loggerFactory, ILogger <ChatManager> logger, IEnumerable <Models.ChatBot> initialChatBots) { this.providerFactory = providerFactory ?? throw new ArgumentNullException(nameof(providerFactory)); this.ioManager = ioManager ?? throw new ArgumentNullException(nameof(ioManager)); this.commandFactory = commandFactory ?? throw new ArgumentNullException(nameof(commandFactory)); if (serverControl == null) { throw new ArgumentNullException(nameof(serverControl)); } this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); activeChatBots = initialChatBots?.ToList() ?? throw new ArgumentNullException(nameof(initialChatBots)); restartRegistration = serverControl.RegisterForRestart(this); synchronizationLock = new object(); builtinCommands = new Dictionary <string, ICommand>(); providers = new Dictionary <long, IProvider>(); mappedChannels = new Dictionary <ulong, ChannelMapping>(); trackingContexts = new List <IChatTrackingContext>(); handlerCts = new CancellationTokenSource(); connectionsUpdated = new TaskCompletionSource <object>(); channelIdCounter = 1; }
public BladesOfSteelMainGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, BladesOfSteelVMData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, ICardInfo <RegularSimpleCard> cardInfo, CommandContainer command, BladesOfSteelGameContainer gameContainer, IFaceoffProcesses processes, ComputerAI ai, BladesOfSteelScreenDelegates delegates ) : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer) { _model = currentMod; _command = command; _gameContainer = gameContainer; _processes = processes; _ai = ai; _delegates = delegates; _gameContainer.GetAttackStage = GetAttackStage; _gameContainer.GetDefenseStage = GetDefenseStage; }
public ThreeLetterFunMainGameClass(IGamePackageResolver resolver, IEventAggregator aggregator, BasicData basic, TestOptions test, ThreeLetterFunVMData model, IMultiplayerSaveState state, IAsyncDelayer delay, CommandContainer command, GameBoard gameboard, GlobalHelpers global, IListShuffler <ThreeLetterFunCardData> deck, BasicGameContainer <ThreeLetterFunPlayerItem, ThreeLetterFunSaveInfo> gameContainer ) : base(resolver, aggregator, basic, test, model, state, delay, command, gameContainer) { _test = test; _model = model; _command = command; _gameboard = gameboard; _global = global; _deck = deck; _gameboard.SetSelf = (() => { SingleInfo = PlayerList.GetSelf(); }); _gameboard.SingleInfo = (() => SingleInfo !); _gameboard.SaveRoot = (() => SaveRoot); }
public BoardDiceGameClass( IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, IDiceBoardGamesData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, CommandContainer command, BasicGameContainer <P, S> gameContainer, StandardRollProcesses <SimpleDice, P> roller ) : base( mainContainer, aggregator, basicData, test, currentMod, state, delay, command, gameContainer) { _model = currentMod; Roller = roller; Roller.AfterRollingAsync = AfterRollingAsync; Roller.AfterSelectUnselectDiceAsync = AfterSelectUnselectDiceAsync; Roller.CurrentPlayer = (() => SingleInfo !); }
/// <summary> /// Initializes a new instance of the <see cref="BasicWatchdog"/> <see langword="class"/>. /// </summary> /// <param name="chat">The <see cref="IChatManager"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="sessionControllerFactory">The <see cref="ISessionControllerFactory"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="dmbFactory">The <see cref="IDmbFactory"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="sessionPersistor">The <see cref="ISessionPersistor"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="jobManager">The <see cref="IJobManager"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="serverControl">The <see cref="IServerControl"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="asyncDelayer">The <see cref="IAsyncDelayer"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="diagnosticsIOManager">The <see cref="IIOManager"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="eventConsumer">The <see cref="IEventConsumer"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="remoteDeploymentManagerFactory">The <see cref="IRemoteDeploymentManagerFactory"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="logger">The <see cref="ILogger"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="initialLaunchParameters">The <see cref="DreamDaemonLaunchParameters"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="instance">The <see cref="Api.Models.Instance"/> for the <see cref="WatchdogBase"/>.</param> /// <param name="autoStart">The autostart value for the <see cref="WatchdogBase"/>.</param> public BasicWatchdog( IChatManager chat, ISessionControllerFactory sessionControllerFactory, IDmbFactory dmbFactory, ISessionPersistor sessionPersistor, IJobManager jobManager, IServerControl serverControl, IAsyncDelayer asyncDelayer, IIOManager diagnosticsIOManager, IEventConsumer eventConsumer, IRemoteDeploymentManagerFactory remoteDeploymentManagerFactory, ILogger <BasicWatchdog> logger, DreamDaemonLaunchParameters initialLaunchParameters, Api.Models.Instance instance, bool autoStart) : base( chat, sessionControllerFactory, dmbFactory, sessionPersistor, jobManager, serverControl, asyncDelayer, diagnosticsIOManager, eventConsumer, remoteDeploymentManagerFactory, logger, initialLaunchParameters, instance, autoStart) { }
/// <summary> /// Construct a <see cref="ChatManagerFactory"/> /// </summary> /// <param name="providerFactory">The value of <see cref="providerFactory"/></param> /// <param name="serverControl">The value of <see cref="serverControl"/></param> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/></param> /// <param name="loggerFactory">The value of <see cref="loggerFactory"/></param> public ChatManagerFactory(IProviderFactory providerFactory, IServerControl serverControl, IAsyncDelayer asyncDelayer, ILoggerFactory loggerFactory) { this.providerFactory = providerFactory ?? throw new ArgumentNullException(nameof(providerFactory)); this.serverControl = serverControl ?? throw new ArgumentNullException(nameof(serverControl)); this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); }
public LifeBoardGameGameContainer( BasicData basicData, TestOptions test, IGameInfo gameInfo, IAsyncDelayer delay, IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver, RandomGenerator random, LifeBoardGameVMData model ) : base(basicData, test, gameInfo, delay, aggregator, command, resolver, random) { _model = model; //go ahead and load up the spacelist right away here. LoadSpaceProcesses.PopulateSpaces(this); command.ExecutingChanged += Command_ExecutingChanged; Pos = new PositionPieces(); //hopefully this simple. }
/// <summary> /// Construct a <see cref="WindowsNetworkPromptReaper"/> /// </summary> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/></param> /// <param name="logger">The value of <see cref="logger"/></param> public WindowsNetworkPromptReaper(IAsyncDelayer asyncDelayer, ILogger <WindowsNetworkPromptReaper> logger) { this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); registeredProcesses = new List <IProcess>(); cancellationTokenSource = new CancellationTokenSource(); }
public Unpeg(IRandomnessHandler randomnessHandler, IChatHelper chatHelper, IBackgroundTaskQueue backgroundTaskQueue, IAsyncDelayer asyncDelayer, ILogger <Unpeg> logger) { _randomnessHandler = randomnessHandler; _chatHelper = chatHelper; _backgroundTaskQueue = backgroundTaskQueue; _asyncDelayer = asyncDelayer; _logger = logger; }
/// <summary> /// Construct a <see cref="WatchdogFactory"/> /// </summary> /// <param name="serverControl">The value of <see cref="serverControl"/></param> /// <param name="loggerFactory">The value of <see cref="loggerFactory"/></param> /// <param name="databaseContextFactory">The value of <see cref="databaseContextFactory"/></param> /// <param name="byondTopicSender">The value of <see cref="byondTopicSender"/></param> /// <param name="jobManager">The value of <see cref="jobManager"/></param> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/></param> public WatchdogFactory(IServerControl serverControl, ILoggerFactory loggerFactory, IDatabaseContextFactory databaseContextFactory, IByondTopicSender byondTopicSender, IJobManager jobManager, IAsyncDelayer asyncDelayer) { this.serverControl = serverControl ?? throw new ArgumentNullException(nameof(serverControl)); this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); this.databaseContextFactory = databaseContextFactory ?? throw new ArgumentNullException(nameof(databaseContextFactory)); this.byondTopicSender = byondTopicSender ?? throw new ArgumentNullException(nameof(byondTopicSender)); this.jobManager = jobManager ?? throw new ArgumentNullException(nameof(jobManager)); this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); }
public BattleshipComputerAI(GameBoardCP gameBoard1, RandomGenerator rs, IAsyncDelayer delay, TestOptions test) { _gameBoard1 = gameBoard1; _rs = rs; //since we are not unit testing, no problem to just create a new random generator for computer player this time _delay = delay; _test = test; }
/// <summary> /// Construct a <see cref="ProviderFactory"/> /// </summary> /// <param name="assemblyInformationProvider">The value of <see cref="assemblyInformationProvider"/></param> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/></param> /// <param name="loggerFactory">The value of <see cref="loggerFactory"/></param> public ProviderFactory( IAssemblyInformationProvider assemblyInformationProvider, IAsyncDelayer asyncDelayer, ILoggerFactory loggerFactory) { this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); this.assemblyInformationProvider = assemblyInformationProvider ?? throw new ArgumentNullException(nameof(assemblyInformationProvider)); }
public PeerMessageListener( IAsyncDelayer asyncDelayer, IMessageHandler <Message> messageHandler, IServerContext serverContext) { _asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); _messageHandler = messageHandler ?? throw new ArgumentNullException(nameof(messageHandler)); _serverContext = serverContext ?? throw new ArgumentNullException(nameof(serverContext)); }
public RollEmGameContainer(BasicData basicData, TestOptions test, IGameInfo gameInfo, IAsyncDelayer delay, IEventAggregator aggregator, CommandContainer command, IGamePackageResolver resolver, RandomGenerator random) : base(basicData, test, gameInfo, delay, aggregator, command, resolver, random) { }
/// <summary> /// Initializes a new instance of the <see cref="IrcProvider"/> class. /// </summary> /// <param name="jobManager">The <see cref="IJobManager"/> for the provider.</param> /// <param name="assemblyInformationProvider">The <see cref="IAssemblyInformationProvider"/> to get the <see cref="IAssemblyInformationProvider.VersionString"/> from.</param> /// <param name="asyncDelayer">The value of <see cref="asyncDelayer"/>.</param> /// <param name="logger">The <see cref="ILogger"/> for the <see cref="Provider"/>.</param> /// <param name="chatBot">The <see cref="Models.ChatBot"/> for the <see cref="Provider"/>.</param> public IrcProvider( IJobManager jobManager, IAssemblyInformationProvider assemblyInformationProvider, IAsyncDelayer asyncDelayer, ILogger <IrcProvider> logger, Models.ChatBot chatBot) : base(jobManager, logger, chatBot) { if (assemblyInformationProvider == null) { throw new ArgumentNullException(nameof(assemblyInformationProvider)); } this.asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); var builder = chatBot.CreateConnectionStringBuilder(); if (builder == null || !builder.Valid || !(builder is IrcConnectionStringBuilder ircBuilder)) { throw new InvalidOperationException("Invalid ChatConnectionStringBuilder!"); } address = ircBuilder.Address; port = ircBuilder.Port.Value; nickname = ircBuilder.Nickname; password = ircBuilder.Password; passwordType = ircBuilder.PasswordType; client = new IrcFeatures { SupportNonRfc = true, CtcpUserInfo = "You are going to play. And I am going to watch. And everything will be just fine...", AutoRejoin = true, AutoRejoinOnKick = true, AutoRelogin = true, AutoRetry = true, AutoRetryLimit = TimeoutSeconds, AutoRetryDelay = TimeoutSeconds, ActiveChannelSyncing = true, AutoNickHandling = true, CtcpVersion = assemblyInformationProvider.VersionString, UseSsl = ircBuilder.UseSsl.Value, }; if (ircBuilder.UseSsl.Value) { client.ValidateServerCertificate = true; // dunno if it defaults to that or what } client.OnChannelMessage += Client_OnChannelMessage; client.OnQueryMessage += Client_OnQueryMessage; channelIdMap = new Dictionary <ulong, string>(); queryChannelIdMap = new Dictionary <ulong, string>(); channelIdCounter = 1; }
public TransactionProcessor( ITransactionPool transactionPool, IVerifier <Transaction> transactionVerifier, IRepository repository, IAsyncDelayer asyncDelayer) { _verifiedTransactionPool = transactionPool ?? throw new ArgumentNullException(nameof(transactionPool)); _transactionVerifier = transactionVerifier ?? throw new ArgumentNullException(nameof(transactionVerifier)); _repository = repository ?? throw new ArgumentNullException(nameof(repository)); _asyncDelayer = asyncDelayer ?? throw new ArgumentNullException(nameof(asyncDelayer)); }