private static Func <Ninject.Activation.IContext, IWurmApi> BuildWurmApiFactory(IKernel kernel) { return(context => { IWurmAssistantConfig config = kernel.Get <IWurmAssistantConfig>(); IWurmApiLoggerFactory loggerFactory = kernel.Get <IWurmApiLoggerFactory>(); IWurmApiEventMarshaller eventMarshaller = kernel.Get <IWurmApiEventMarshaller>(); IWurmAssistantDataDirectory wurmAssistantDataDirectory = kernel.Get <IWurmAssistantDataDirectory>(); if (string.IsNullOrWhiteSpace(config.WurmGameClientInstallDirectory)) { throw new InvalidOperationException("Unknown path to Wurm Game Client installation folder."); } IWurmClientInstallDirectory wurmInstallDirectory = new WurmInstallDirectoryOverride(config.WurmGameClientInstallDirectory); ServerInfoManager serverInfoManager = kernel.Get <ServerInfoManager>(); var wurmApiConfig = new WurmApiConfig { Platform = Platform.Windows, ClearAllCaches = config.DropAllWurmApiCachesToggle, WurmUnlimitedMode = config.WurmUnlimitedMode }; serverInfoManager.UpdateWurmApiConfigDictionary(wurmApiConfig.ServerInfoMap); var wurmApiDataDir = new DirectoryInfo(Path.Combine(wurmAssistantDataDirectory.DirectoryPath, "WurmApi")); var wurmApi = AldursLab.WurmApi.WurmApiFactory.Create( new WurmApiCreationOptions() { DataDirPath = wurmApiDataDir.FullName, WurmApiLogger = loggerFactory.Create(), WurmApiEventMarshaller = eventMarshaller, WurmClientInstallDirectory = wurmInstallDirectory, WurmApiConfig = wurmApiConfig }); config.DropAllWurmApiCachesToggle = false; var validator = new WurmClientValidator(wurmApi, config); if (!validator.SkipOnStart) { var issues = validator.Validate(); if (issues.Any()) { validator.ShowSummaryWindow(issues); } } return wurmApi; }); }
public BackupManager([NotNull] IWurmAssistantDataDirectory dataDirectory, [NotNull] ILogger logger) { if (dataDirectory == null) { throw new ArgumentNullException(nameof(dataDirectory)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } this.dataDirectory = dataDirectory; this.logger = logger; backupDirRootPath = Path.Combine(dataDirectory.DirectoryPath, "Backup"); }
public PersistentContextsManager([NotNull] IWurmAssistantDataDirectory wurmAssistantDataDirectory, [NotNull] ITimerFactory timerFactory) { if (wurmAssistantDataDirectory == null) { throw new ArgumentNullException(nameof(wurmAssistantDataDirectory)); } if (timerFactory == null) { throw new ArgumentNullException(nameof(timerFactory)); } this.wurmAssistantDataDirectory = wurmAssistantDataDirectory; timer = timerFactory.CreateUiThreadTimer(); timer.Interval = TimeSpan.FromSeconds(15); timer.Tick += TimerOnTick; timer.Start(); }
public LoggingManager([NotNull] IThreadMarshaller threadMarshaller, [NotNull] IWurmAssistantDataDirectory wurmAssistantDataDirectory) { if (threadMarshaller == null) { throw new ArgumentNullException(nameof(threadMarshaller)); } if (wurmAssistantDataDirectory == null) { throw new ArgumentNullException(nameof(wurmAssistantDataDirectory)); } this.threadMarshaller = threadMarshaller; var logOutputDirFullPath = Path.Combine(wurmAssistantDataDirectory.DirectoryPath, "Logs"); loggingConfig = new LoggingConfig(logOutputDirFullPath); factoryLogger = new Logger(this, "LoggingManager"); }
public SoundsLibrary([NotNull] IWurmAssistantDataDirectory wurmAssistantDataDirectory, [NotNull] ILogger logger) { if (wurmAssistantDataDirectory == null) { throw new ArgumentNullException(nameof(wurmAssistantDataDirectory)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } this.soundFilesPath = Path.Combine(wurmAssistantDataDirectory.DirectoryPath, SoundbankDirName); this.logger = logger; var dirInfo = new DirectoryInfo(soundFilesPath); if (!dirInfo.Exists) { dirInfo.Create(); } }
public AppMigrationsManager( [NotNull] IKernel kernel, [NotNull] IWurmAssistantDataDirectory dataDirectory, [NotNull] PersistentContextsManager persistentContextsManager, [NotNull] ILogger logger, [NotNull] ITrayPopups trayPopups, [NotNull] BackupManager backupManager) { if (kernel == null) { throw new ArgumentNullException(nameof(kernel)); } if (dataDirectory == null) { throw new ArgumentNullException(nameof(dataDirectory)); } if (persistentContextsManager == null) { throw new ArgumentNullException(nameof(persistentContextsManager)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (trayPopups == null) { throw new ArgumentNullException(nameof(trayPopups)); } if (backupManager == null) { throw new ArgumentNullException(nameof(backupManager)); } this.kernel = kernel; this.persistentContextsManager = persistentContextsManager; this.logger = logger; this.trayPopups = trayPopups; this.backupManager = backupManager; upgradeInfoFile = new FileInfo(Path.Combine(dataDirectory.DirectoryPath, "upgrade.dat")); LoadCurrentVersion(); }
public GrangerFeature( [NotNull] ILogger logger, [NotNull] IWurmAssistantDataDirectory dataDirectory, [NotNull] ISoundManager soundManager, [NotNull] ITrayPopups trayPopups, [NotNull] IWurmApi wurmApi, [NotNull] GrangerSettings grangerSettings, [NotNull] DefaultBreedingEvaluatorOptions defaultBreedingEvaluatorOptions, [NotNull] IWurmAssistantConfig wurmAssistantConfig, [NotNull] ITimerFactory timerFactory, [NotNull] CreatureColorDefinitions creatureColorDefinitions, [NotNull] GrangerContext grangerContext, [NotNull] IFormEditCreatureColorsFactory formEditCreatureColorsFactory, [NotNull] ITelemetry telemetry) { if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (dataDirectory == null) { throw new ArgumentNullException(nameof(dataDirectory)); } if (soundManager == null) { throw new ArgumentNullException(nameof(soundManager)); } if (trayPopups == null) { throw new ArgumentNullException(nameof(trayPopups)); } if (wurmApi == null) { throw new ArgumentNullException(nameof(wurmApi)); } if (grangerSettings == null) { throw new ArgumentNullException(nameof(grangerSettings)); } if (defaultBreedingEvaluatorOptions == null) { throw new ArgumentNullException(nameof(defaultBreedingEvaluatorOptions)); } if (wurmAssistantConfig == null) { throw new ArgumentNullException(nameof(wurmAssistantConfig)); } if (timerFactory == null) { throw new ArgumentNullException(nameof(timerFactory)); } if (creatureColorDefinitions == null) { throw new ArgumentNullException(nameof(creatureColorDefinitions)); } if (grangerContext == null) { throw new ArgumentNullException(nameof(grangerContext)); } if (formEditCreatureColorsFactory == null) { throw new ArgumentNullException(nameof(formEditCreatureColorsFactory)); } this.logger = logger; this.dataDirectory = dataDirectory; this.soundManager = soundManager; this.trayPopups = trayPopups; settings = grangerSettings; this.defaultBreedingEvaluatorOptions = defaultBreedingEvaluatorOptions; this.creatureColorDefinitions = creatureColorDefinitions; context = grangerContext; this.formEditCreatureColorsFactory = formEditCreatureColorsFactory; this.telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry)); grangerUi = new FormGrangerMain(this, settings, context, logger, wurmApi, defaultBreedingEvaluatorOptions, creatureColorDefinitions, formEditCreatureColorsFactory, telemetry); logsFeedMan = new LogsFeedManager(this, context, wurmApi, logger, trayPopups, wurmAssistantConfig, creatureColorDefinitions, grangerSettings, telemetry); logsFeedMan.UpdatePlayers(settings.CaptureForPlayers); grangerUi.GrangerPlayerListChanged += GrangerUI_Granger_PlayerListChanged; updateLoop = timerFactory.CreateUiThreadTimer(); updateLoop.Interval = TimeSpan.FromMilliseconds(500); updateLoop.Tick += (sender, args) => Update(); updateLoop.Start(); }
public TriggersFeature( [NotNull] ISoundManager soundManager, [NotNull] IWurmAssistantDataDirectory wurmAssistantDataDirectory, [NotNull] ITimerFactory timerFactory, [NotNull] IWurmApi wurmApi, [NotNull] ITrayPopups trayPopups, [NotNull] ILogger logger, [NotNull] TriggersDataContext triggersDataContext, [NotNull] ITriggerManagerFactory triggerManagerFactory) { if (soundManager == null) { throw new ArgumentNullException(nameof(soundManager)); } if (wurmAssistantDataDirectory == null) { throw new ArgumentNullException(nameof(wurmAssistantDataDirectory)); } if (timerFactory == null) { throw new ArgumentNullException(nameof(timerFactory)); } if (wurmApi == null) { throw new ArgumentNullException(nameof(wurmApi)); } if (trayPopups == null) { throw new ArgumentNullException(nameof(trayPopups)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (triggersDataContext == null) { throw new ArgumentNullException(nameof(triggersDataContext)); } if (triggerManagerFactory == null) { throw new ArgumentNullException(nameof(triggerManagerFactory)); } this.soundManager = soundManager; this.wurmAssistantDataDirectory = wurmAssistantDataDirectory; this.wurmApi = wurmApi; this.trayPopups = trayPopups; this.logger = logger; this.triggersDataContext = triggersDataContext; this.triggerManagerFactory = triggerManagerFactory; updateTimer = timerFactory.CreateUiThreadTimer(); updateTimer.Interval = TimeSpan.FromMilliseconds(500); updateTimer.Tick += (sender, args) => Update(); mainUi = new FormTriggersMain(this, soundManager); foreach (var name in GetAllActiveCharacters()) { AddManager(name); } updateTimer.Start(); }
public DataBackupUserSettings(IWurmAssistantDataDirectory dataDirectory) { settingsFile = new FileInfo(Path.Combine(dataDirectory.DirectoryPath, "backupSettings.dat")); Load(); }
public MainMenuUserControl( [NotNull] IProcessStarter processStarter, [NotNull] IUserNotifier userNotifier, [NotNull] IServersEditorViewFactory serversEditorViewFactory, [NotNull] IDebuggingWindowFactory debuggingWindowFactory, [NotNull] INewsViewModelFactory newsViewModelFactory, [NotNull] IWurmAssistantDataDirectory wurmAssistantDataDirectory, [NotNull] IWurmAssistantConfig wurmAssistantConfig, [NotNull] IEnvironment environment, [NotNull] IWurmClientValidatorFactory wurmClientValidatorFactory, [NotNull] ILogger logger, [NotNull] IOptionsFormFactory optionsFormFactory, [NotNull] IDataBackupsViewModelFactory dataBackupsViewModelFactory, [NotNull] IWindowManager windowManager) { if (processStarter == null) { throw new ArgumentNullException(nameof(processStarter)); } if (userNotifier == null) { throw new ArgumentNullException(nameof(userNotifier)); } if (serversEditorViewFactory == null) { throw new ArgumentNullException(nameof(serversEditorViewFactory)); } if (debuggingWindowFactory == null) { throw new ArgumentNullException(nameof(debuggingWindowFactory)); } if (newsViewModelFactory == null) { throw new ArgumentNullException(nameof(newsViewModelFactory)); } if (wurmAssistantDataDirectory == null) { throw new ArgumentNullException(nameof(wurmAssistantDataDirectory)); } if (wurmAssistantConfig == null) { throw new ArgumentNullException(nameof(wurmAssistantConfig)); } if (environment == null) { throw new ArgumentNullException(nameof(environment)); } if (wurmClientValidatorFactory == null) { throw new ArgumentNullException(nameof(wurmClientValidatorFactory)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (optionsFormFactory == null) { throw new ArgumentNullException(nameof(optionsFormFactory)); } if (dataBackupsViewModelFactory == null) { throw new ArgumentNullException(nameof(dataBackupsViewModelFactory)); } if (windowManager == null) { throw new ArgumentNullException(nameof(windowManager)); } this.processStarter = processStarter; this.userNotifier = userNotifier; this.serversEditorViewFactory = serversEditorViewFactory; this.debuggingWindowFactory = debuggingWindowFactory; this.newsViewModelFactory = newsViewModelFactory; this.wurmAssistantDataDirectory = wurmAssistantDataDirectory; this.wurmAssistantConfig = wurmAssistantConfig; this.environment = environment; this.wurmClientValidatorFactory = wurmClientValidatorFactory; this.logger = logger; this.optionsFormFactory = optionsFormFactory; this.dataBackupsViewModelFactory = dataBackupsViewModelFactory; this.windowManager = windowManager; InitializeComponent(); debugToolStripMenuItem.Visible = false; #if DEBUG debugToolStripMenuItem.Visible = true; #endif }