private async Task <ServiceProvider> ConfigureServicesAsync(Database database) { DiscordSocketClient client = new DiscordSocketClient(); Container playersRepositoryContainer = await PlayersRepository.CreateContainer(database); PlayersRepository playersRepository = new PlayersRepository(playersRepositoryContainer); Container adventuresRepositoryContainer = await AdventuresRepository.CreateContainer(database); AdventuresRepository adventuresRepository = new AdventuresRepository(adventuresRepositoryContainer); TickService tickService = new TickService(playersRepository, adventuresRepository); UIService uiService = new UIService(client, playersRepository, adventuresRepository); return(new ServiceCollection() .AddSingleton(client) .AddSingleton <CommandService>() .AddSingleton <CommandHandlingService>() .AddSingleton <HttpClient>() .AddSingleton(tickService) .AddSingleton(uiService) .AddSingleton(playersRepository) .AddSingleton(adventuresRepository) .BuildServiceProvider()); }
public TickService ( PlayersRepository playersRepository, AdventuresRepository adventuresRepository ) { PlayersRepository = playersRepository; AdventuresRepository = adventuresRepository; Timer = new Timer ( async _ => { await Tick(); }, null, TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(1) ); }
public UIService ( DiscordSocketClient discordSocketClient, PlayersRepository playersRepository, AdventuresRepository adventuresRepository ) { DiscordSocketClient = discordSocketClient; PlayersRepository = playersRepository; AdventuresRepository = adventuresRepository; Timer = new Timer ( async _ => { await UIUpdate(); }, null, TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(2) ); }
public StatisticsModule(PlayersRepository playersRepository, AdventuresRepository adventuresRepository) { PlayersRepository = playersRepository; AdventuresRepository = adventuresRepository; }
public AdventureModule(PlayersRepository playersRepository, AdventuresRepository adventuresRepository) { PlayersRepository = playersRepository; AdventuresRepository = adventuresRepository; }