public SaltySadism(ILogger <SaltySadism> logger, IGameManager gameManager, IGameData gameData, IReplayProvider replayProvider, CancellationTokenProvider tokenProvider) { this.logger = logger; this.gameManager = gameManager; this.gameData = gameData; this.replayProvider = replayProvider; this.tokenProvider = tokenProvider; }
public SpectateReportCsvWriter(IGameData gameData, AppSettings settings, IReplayProvider provider, IReplayAnalyzer analyzer, CancellationTokenProvider tokenProvider) { this.gameData = gameData ?? throw new ArgumentNullException(nameof(gameData)); this.settings = settings ?? throw new ArgumentNullException(nameof(settings)); this.provider = provider ?? throw new ArgumentNullException(nameof(provider)); this.analyzer = analyzer ?? throw new ArgumentNullException(nameof(analyzer)); this.tokenProvider = tokenProvider ?? throw new ArgumentNullException(nameof(tokenProvider)); }
public ReplayConsumer( ILogger <ReplayConsumer> logger, CancellationTokenProvider tokenProvider, IReplayProvider provider, ReplayRunner runner, ReplayDetailsWriter writer) { this.tokenProvider = tokenProvider; this.logger = logger; this.provider = provider; this.runner = runner; this.writer = writer; }
public Engine( ILogger <Engine> logger, ITwitchBot twitchBot, IGameManager gameManager, IGameData gameData, IReplayProvider replayProvider, CancellationTokenProvider consoleTokenProvider) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.twitchBot = twitchBot ?? throw new ArgumentNullException(nameof(twitchBot)); this.gameManager = gameManager ?? throw new ArgumentNullException(nameof(gameManager)); this.gameData = gameData ?? throw new ArgumentNullException(nameof(gameData)); this.replayProvider = replayProvider ?? throw new ArgumentNullException(nameof(replayProvider)); this.consoleTokenProvider = consoleTokenProvider ?? throw new ArgumentNullException(nameof(consoleTokenProvider)); }
public static List <ReplayActionResult> Replay(this IReplayProvider provider, IReadOnlyCollection <ReplayAction> actions) { List <ReplayActionResult> list = new List <ReplayActionResult>(actions.Count); foreach (ReplayAction replayAction in actions) { switch (replayAction.Id) { case ActionId.MarkAsRead: provider.MarkAsRead(new MarkAsReadAction[] { (MarkAsReadAction)replayAction }); list.Add(null); break; case ActionId.MarkAsUnRead: provider.MarkAsUnRead(new MarkAsUnReadAction[] { (MarkAsUnReadAction)replayAction }); list.Add(null); break; case ActionId.Move: { IReadOnlyCollection <MoveActionResult> collection = provider.Move(new MoveAction[] { (MoveAction)replayAction }); list.AddRange(collection); break; } case ActionId.Send: provider.Send((SendAction)replayAction); list.Add(null); break; case ActionId.Delete: provider.Delete(new DeleteAction[] { (DeleteAction)replayAction }); list.Add(null); break; case ActionId.Flag: provider.Flag(new FlagAction[] { (FlagAction)replayAction }); list.Add(null); break; case ActionId.FlagClear: provider.FlagClear(new FlagClearAction[] { (FlagClearAction)replayAction }); list.Add(null); break; case ActionId.FlagComplete: provider.FlagComplete(new FlagCompleteAction[] { (FlagCompleteAction)replayAction }); list.Add(null); break; case ActionId.CreateCalendarEvent: { IReadOnlyCollection <CreateCalendarEventActionResult> collection2 = provider.CreateCalendarEvent(new CreateCalendarEventAction[] { (CreateCalendarEventAction)replayAction }); list.AddRange(collection2); break; } case ActionId.UpdateCalendarEvent: provider.UpdateCalendarEvent(new UpdateCalendarEventAction[] { (UpdateCalendarEventAction)replayAction }); list.Add(null); break; default: throw new NotSupportedException(); } } return(list); }