diff --git a/Artemis/Artemis/Managers/MainManager.cs b/Artemis/Artemis/Managers/MainManager.cs index 9c754e270..c266bb4d8 100644 --- a/Artemis/Artemis/Managers/MainManager.cs +++ b/Artemis/Artemis/Managers/MainManager.cs @@ -105,16 +105,12 @@ namespace Artemis.Managers /// /// Loads the last active effect and starts the program /// - public void EnableProgram() + public async void EnableProgram() { Logger.Debug("Enabling program"); ProgramEnabled = true; - LoopManager.StartAsync(); - foreach (var overlayModule in ModuleManager.OverlayModules) - { - if (overlayModule.Settings.IsEnabled) - overlayModule.Enable(); - } + await LoopManager.StartAsync(); + RaiseEnabledChangedEvent(new EnabledChangedEventArgs(ProgramEnabled)); } diff --git a/Artemis/Artemis/Modules/Abstract/ModuleViewModel.cs b/Artemis/Artemis/Modules/Abstract/ModuleViewModel.cs index e20501ac8..ff70eba65 100644 --- a/Artemis/Artemis/Modules/Abstract/ModuleViewModel.cs +++ b/Artemis/Artemis/Modules/Abstract/ModuleViewModel.cs @@ -68,7 +68,7 @@ namespace Artemis.Modules.Abstract { get { - if (ModuleModel.IsBoundToProcess || ModuleModel.IsBoundToProcess) + if (ModuleModel.IsBoundToProcess || ModuleModel.IsOverlay) return Settings.IsEnabled; return _generalSettings.LastModule == ModuleModel.Name; } diff --git a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2Model.cs b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2Model.cs index 5006d126f..3c7b18606 100644 --- a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2Model.cs +++ b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2Model.cs @@ -59,7 +59,7 @@ namespace Artemis.Modules.Games.EurotruckSimulator2 Settings.Save(); if (!File.Exists(dir + "/plugins/ets2-telemetry-server.dll")) - PlacePlugins(); + PlaceTruckSimulatorPlugin(dir, "eurotrucks2.exe"); } public void FindAtsGameDir() @@ -76,22 +76,14 @@ namespace Artemis.Modules.Games.EurotruckSimulator2 Settings.Save(); if (!File.Exists(dir + "/plugins/ets2-telemetry-server.dll")) - PlacePlugins(); + PlaceTruckSimulatorPlugin(dir, "amtrucks.exe"); } - public void PlacePlugins() + public void PlaceTruckSimulatorPlugin(string path, string game) { - var ets2Path = ((EurotruckSimulator2Settings) Settings).Ets2GameDirectory; - if (!string.IsNullOrEmpty(ets2Path)) - PlaceTruckSimulatorPlugin(ets2Path, "eurotrucks2.exe"); + if (string.IsNullOrEmpty(path)) + return; - var atsPath = ((EurotruckSimulator2Settings) Settings).AtsGameDirectory; - if (!string.IsNullOrEmpty(atsPath)) - PlaceTruckSimulatorPlugin(atsPath, "amtrucks.exe"); - } - - private void PlaceTruckSimulatorPlugin(string path, string game) - { // Ensure the selected directory exists if (!Directory.Exists(path)) { diff --git a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2View.xaml b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2View.xaml index c8c7588cf..281aa5825 100644 --- a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2View.xaml +++ b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2View.xaml @@ -68,7 +68,7 @@ + cal:Message.Attach="[Event LostFocus] = [Action Ets2PlacePlugin]" />