// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { var logger = new SerilogLoggerProvider(Log.Logger).CreateLogger(nameof(Program)); services.AddSingleton(logger); var wowProcess = new WowProcess(); var wowScreen = new WowScreen(logger, wowProcess); wowScreen.GetRectangle(out var rect); var addonConfig = AddonConfig.Load(); var addonConfigurator = new AddonConfigurator(logger, addonConfig); if (!addonConfig.IsDefault() && !addonConfigurator.Installed()) { // At this point the webpage never loads so fallback to configuration page AddonConfig.Delete(); DataFrameConfiguration.RemoveConfiguration(); } if (DataFrameConfiguration.Exists() && !DataFrameConfiguration.IsValid(rect, addonConfigurator.GetInstalledVersion())) { // At this point the webpage never loads so fallback to configuration page DataFrameConfiguration.RemoveConfiguration(); } if (AddonConfig.Exists() && DataFrameConfiguration.Exists()) { var dataConfig = DataConfig.Load(); var pather = GetPather(logger, dataConfig); var botController = new BotController(logger, pather, dataConfig, Configuration); services.AddSingleton <IBotController>(botController); services.AddSingleton <IGrindSessionHandler>(botController.GrindSessionHandler); services.AddSingleton <IGrindSession>(botController.GrindSession); services.AddSingleton <IAddonReader>(botController.AddonReader); services.AddMatBlazor(); } else { services.AddSingleton <IBotController>(new ConfigBotController()); services.AddSingleton <IAddonReader>(new ConfigAddonReader()); } services.AddRazorPages(); services.AddServerSideBlazor(); services.AddBlazorTable(); }
public void Delete() { DeleteAddon(); AddonConfig.Delete(); }