diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj
index a42fa0f09..485691460 100644
--- a/Artemis/Artemis/Artemis.csproj
+++ b/Artemis/Artemis/Artemis.csproj
@@ -175,6 +175,14 @@
..\packages\Ninject.3.2.2.0\lib\net45-full\Ninject.dll
True
+
+ ..\packages\Ninject.Extensions.Logging.3.2.3.0\lib\net45-full\Ninject.Extensions.Logging.dll
+ True
+
+
+ ..\packages\Ninject.Extensions.Logging.nlog4.3.2.3.0\lib\net45-full\Ninject.Extensions.Logging.NLog4.dll
+ True
+
..\packages\NLog.4.3.3\lib\net45\NLog.dll
True
@@ -280,6 +288,7 @@
+
diff --git a/Artemis/Artemis/Managers/EffectManager.cs b/Artemis/Artemis/Managers/EffectManager.cs
index a53ef614a..5305f4411 100644
--- a/Artemis/Artemis/Managers/EffectManager.cs
+++ b/Artemis/Artemis/Managers/EffectManager.cs
@@ -1,24 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Threading;
using Artemis.Events;
using Artemis.Models;
using Artemis.Modules.Effects.ProfilePreview;
using Artemis.Settings;
using Caliburn.Micro;
-using Ninject;
using NLog;
using LogManager = NLog.LogManager;
namespace Artemis.Managers
{
+ ///
+ /// Manages the effects
+ ///
public class EffectManager
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly IEventAggregator _events;
private EffectModel _activeEffect;
- private bool _clearing;
public EffectManager(IEventAggregator events)
{
@@ -30,11 +30,6 @@ namespace Artemis.Managers
Logger.Info("Intialized EffectManager");
}
- [Inject]
- public Lazy MainManager { get; set; }
-
- public EffectModel PauseEffect { get; set; }
-
///
/// Used by ViewModels to show a preview of the profile currently being edited
///
@@ -78,13 +73,9 @@ namespace Artemis.Managers
public EffectModel GetLastEffect()
{
Logger.Debug("Getting last effect: {0}", General.Default.LastEffect);
- if (General.Default.LastEffect == null)
- return null;
-
- var effect = EffectModels.FirstOrDefault(e => e.Name == General.Default.LastEffect);
-
- // Fall back to the first effect found, in case settings are messed up
- return effect;
+ return General.Default.LastEffect == null
+ ? null
+ : EffectModels.FirstOrDefault(e => e.Name == General.Default.LastEffect);
}
///
@@ -92,8 +83,10 @@ namespace Artemis.Managers
///
///
/// Changes the effect, even if it's already running (effectively restarting it)
- public void ChangeEffect(EffectModel effectModel, bool force = false)
+ public void ChangeEffect(EffectModel effectModel)
{
+ if (effectModel == null)
+ throw new ArgumentNullException(nameof(effectModel));
if (effectModel is OverlayModel)
throw new ArgumentException("Can't set an Overlay effect as the active effect");
@@ -103,108 +96,48 @@ namespace Artemis.Managers
if (!gameModel.Enabled)
return;
- if (ActiveEffect != null)
- if (effectModel.Name == ActiveEffect.Name && !force)
+ var wasNull = false;
+ if (ActiveEffect == null)
+ {
+ wasNull = true;
+ ActiveEffect = effectModel;
+ }
+
+ lock (ActiveEffect)
+ {
+ if (!wasNull)
+ ActiveEffect.Dispose();
+
+ ActiveEffect = effectModel;
+ ActiveEffect.Enable();
+
+ if (ActiveEffect is GameModel || ActiveEffect is ProfilePreviewModel)
return;
- Logger.Debug("Changing effect to: {0}, force: {1}", effectModel?.Name, force);
- // If the main manager is running, pause it and safely change the effect
- if (MainManager.Value.Running)
- {
- ChangeEffectWithPause(effectModel);
- return;
+ // Non-game effects are stored as the new LastEffect.
+ General.Default.LastEffect = ActiveEffect?.Name;
+ General.Default.Save();
}
- // If it's not running start it, and let the next recursion handle changing the effect
- MainManager.Value.Start(effectModel);
+ Logger.Debug($"Changed active effect to: {effectModel.Name}");
}
- private void ChangeEffectWithPause(EffectModel effectModel)
- {
- var tryCount = 0;
- while (PauseEffect != null)
- {
- Thread.Sleep(500);
- tryCount++;
- if (tryCount > 20)
- throw new Exception("Couldn't change effect before the time expired");
- }
-
- // Don't interrupt an ongoing effect change
- if (PauseEffect != null)
- {
- Logger.Debug("Change effect with pause cancelled");
- return;
- }
- Logger.Debug("Changing effect with pause: {0}", effectModel?.Name);
-
- PauseEffect = effectModel;
- MainManager.Value.Pause();
- MainManager.Value.PauseCallback += ChangeEffectPauseCallback;
- }
-
- private void ChangeEffectPauseCallback()
- {
- MainManager.Value.PauseCallback -= ChangeEffectPauseCallback;
-
- // Change effect logic
- ActiveEffect?.Dispose();
-
- ActiveEffect = PauseEffect;
- ActiveEffect?.Enable();
-
- MainManager.Value.Unpause();
- PauseEffect = null;
-
- Logger.Debug("Finishing change effect with pause");
- if (ActiveEffect is GameModel || ActiveEffect is ProfilePreviewModel)
- return;
-
- // Non-game effects are stored as the new LastEffect.
- General.Default.LastEffect = ActiveEffect?.Name;
- General.Default.Save();
- }
///
/// Clears the current effect
///
public void ClearEffect()
{
- if (_clearing)
- return;
-
- // Don't mess with the ActiveEffect if in the process of changing the effect.
- if (PauseEffect != null)
- return;
-
- if (ActiveEffect == null)
- return;
-
- _clearing = true;
- Logger.Debug("Clearing active effect");
- MainManager.Value.Pause();
- MainManager.Value.PauseCallback += ClearEffectPauseCallback;
- }
-
- private void ClearEffectPauseCallback()
- {
- MainManager.Value.PauseCallback -= ClearEffectPauseCallback;
- if (PauseEffect != null)
+ lock (ActiveEffect)
{
- Logger.Debug("Cancelling clearing effect");
- return;
+ ActiveEffect.Dispose();
+ ActiveEffect = null;
+
+ General.Default.LastEffect = null;
+ General.Default.Save();
}
- ActiveEffect.Dispose();
- ActiveEffect = null;
-
- General.Default.LastEffect = null;
- General.Default.Save();
-
- _clearing = false;
-
- Logger.Debug("Finishing clearing active effect");
- MainManager.Value.Unpause();
+ Logger.Debug("Cleared active effect");
}
///
@@ -213,7 +146,7 @@ namespace Artemis.Managers
///
public void DisableGame(EffectModel activeEffect)
{
- Logger.Debug("Disabling game: {0}", activeEffect?.Name);
+ Logger.Debug($"Disabling game: {activeEffect?.Name}");
if (GetLastEffect() == null)
ClearEffect();
else
diff --git a/Artemis/Artemis/Managers/KeyboardManager.cs b/Artemis/Artemis/Managers/KeyboardManager.cs
index 03450ac35..a7309a093 100644
--- a/Artemis/Artemis/Managers/KeyboardManager.cs
+++ b/Artemis/Artemis/Managers/KeyboardManager.cs
@@ -5,12 +5,14 @@ using Artemis.Events;
using Artemis.KeyboardProviders;
using Artemis.Settings;
using Caliburn.Micro;
-using Ninject;
using NLog;
using LogManager = NLog.LogManager;
namespace Artemis.Managers
{
+ ///
+ /// Manages the keyboard providers
+ ///
public class KeyboardManager
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
@@ -27,9 +29,6 @@ namespace Artemis.Managers
Logger.Info("Intialized KeyboardManager");
}
- [Inject]
- public Lazy MainManager { get; set; }
-
public List KeyboardProviders { get; set; }
public KeyboardProvider ActiveKeyboard
@@ -43,17 +42,13 @@ namespace Artemis.Managers
}
}
- public bool CanDisable { get; set; }
-
///
/// Enables the last keyboard according to the settings file
///
public void EnableLastKeyboard()
{
- Logger.Debug("Enabling last keyboard: {0}", General.Default.LastKeyboard);
- if (General.Default.LastKeyboard == null)
- return;
- if (General.Default.LastKeyboard == "")
+ Logger.Debug($"Enabling last keyboard: {General.Default.LastKeyboard}");
+ if (string.IsNullOrEmpty(General.Default.LastKeyboard))
return;
var keyboard = KeyboardProviders.FirstOrDefault(k => k.Name == General.Default.LastKeyboard);
@@ -66,32 +61,41 @@ namespace Artemis.Managers
///
public void EnableKeyboard(KeyboardProvider keyboardProvider)
{
- Logger.Debug("Enabling keyboard: {0}", keyboardProvider?.Name);
- ReleaseActiveKeyboard();
-
if (keyboardProvider == null)
+ throw new ArgumentNullException(nameof(keyboardProvider));
+
+ if (ActiveKeyboard?.Name == keyboardProvider.Name)
return;
- if (ActiveKeyboard != null)
- if (keyboardProvider.Name == ActiveKeyboard.Name)
- return;
-
- // Disable everything if there's no active keyboard found
- if (!keyboardProvider.CanEnable())
+ var wasNull = false;
+ if (ActiveKeyboard == null)
{
- MainManager.Value.DialogService.ShowErrorMessageBox(keyboardProvider.CantEnableText);
- General.Default.LastKeyboard = null;
- General.Default.Save();
- return;
+ wasNull = true;
+ ActiveKeyboard = keyboardProvider;
}
- CanDisable = false;
- ActiveKeyboard = keyboardProvider;
- keyboardProvider.Enable();
+ lock (ActiveKeyboard)
+ {
+ Logger.Debug($"Enabling keyboard: {keyboardProvider.Name}");
- General.Default.LastKeyboard = ActiveKeyboard.Name;
- General.Default.Save();
- CanDisable = true;
+ if (!wasNull)
+ ReleaseActiveKeyboard();
+
+ // Disable everything if there's no active keyboard found
+ if (!keyboardProvider.CanEnable())
+ {
+ // TODO: MainManager.DialogService.ShowErrorMessageBox(keyboardProvider.CantEnableText);
+ General.Default.LastKeyboard = null;
+ General.Default.Save();
+ return;
+ }
+
+ ActiveKeyboard = keyboardProvider;
+ ActiveKeyboard.Enable();
+
+ General.Default.LastKeyboard = ActiveKeyboard.Name;
+ General.Default.Save();
+ }
}
///
@@ -99,29 +103,16 @@ namespace Artemis.Managers
///
public void ReleaseActiveKeyboard()
{
- if (ActiveKeyboard == null || !CanDisable)
- return;
+ lock (ActiveKeyboard)
+ {
+ if (ActiveKeyboard == null)
+ return;
+
+ ActiveKeyboard.Disable();
+ ActiveKeyboard = null;
+ }
- ActiveKeyboard.Disable();
- Logger.Debug("Released keyboard: {0}", ActiveKeyboard?.Name);
- ActiveKeyboard = null;
- }
-
- ///
- /// Changes the active keyboard
- ///
- ///
- public void ChangeKeyboard(KeyboardProvider keyboardProvider)
- {
- Logger.Debug("Changing active keyboard");
- if (keyboardProvider == ActiveKeyboard)
- return;
-
- General.Default.LastKeyboard = keyboardProvider?.Name;
- General.Default.Save();
-
- Logger.Debug("Restarting for keyboard change");
- MainManager.Value.Restart();
+ Logger.Debug($"Released keyboard: {ActiveKeyboard?.Name}");
}
}
}
\ No newline at end of file
diff --git a/Artemis/Artemis/Managers/LoopManager.cs b/Artemis/Artemis/Managers/LoopManager.cs
new file mode 100644
index 000000000..32f7120f3
--- /dev/null
+++ b/Artemis/Artemis/Managers/LoopManager.cs
@@ -0,0 +1,118 @@
+using System;
+using System.Timers;
+using Artemis.Events;
+using Caliburn.Micro;
+using Ninject.Extensions.Logging;
+
+namespace Artemis.Managers
+{
+ ///
+ /// Manages the main programn loop
+ ///
+ public class LoopManager : IDisposable
+ {
+ private readonly EffectManager _effectManager;
+ private readonly IEventAggregator _events;
+ private readonly KeyboardManager _keyboardManager;
+ private readonly Timer _loopTimer;
+
+ public LoopManager(ILogger logger, IEventAggregator events, EffectManager effectManager,
+ KeyboardManager keyboardManager)
+ {
+ Logger = logger;
+ _events = events;
+ _effectManager = effectManager;
+ _keyboardManager = keyboardManager;
+
+ _loopTimer = new Timer(40);
+ _loopTimer.Elapsed += Render;
+ _loopTimer.Start();
+ }
+
+ public ILogger Logger { get; }
+
+ ///
+ /// Gets whether the loop is running
+ ///
+ public bool Running { get; private set; }
+
+ public void Dispose()
+ {
+ _loopTimer.Stop();
+ _loopTimer.Dispose();
+ }
+
+ public void Start()
+ {
+ Logger.Debug("Starting LoopManager");
+ // Setup
+
+ Running = true;
+ }
+
+ public void Stop()
+ {
+ Logger.Debug("Stopping LoopManager");
+ Running = false;
+
+ // Shut down
+ }
+
+ private void Render(object sender, ElapsedEventArgs e)
+ {
+ if (!Running)
+ return;
+
+ // Lock both the active keyboard and active effect so they will not change while rendering.
+ lock (_keyboardManager.ActiveKeyboard)
+ {
+ lock (_effectManager.ActiveEffect)
+ {
+ // Stop if no active keyboard/efffect
+ if (_keyboardManager.ActiveKeyboard == null || _effectManager.ActiveEffect == null)
+ {
+ Logger.Debug("No active keyboard/effect, stopping. " +
+ $"Keyboard={_keyboardManager.ActiveKeyboard?.Name}, " +
+ $"effect={_effectManager.ActiveEffect?.Name}");
+ Stop();
+ return;
+ }
+
+ // Skip frame if effect is still initializing
+ if (_effectManager.ActiveEffect.Initialized == false)
+ return;
+
+ // Update the current effect
+ if (_effectManager.ActiveEffect.Initialized)
+ _effectManager.ActiveEffect.Update();
+
+ // Get ActiveEffect's bitmap
+ var bitmap = _effectManager.ActiveEffect.Initialized
+ ? _effectManager.ActiveEffect.GenerateBitmap()
+ : null;
+
+ lock (_effectManager.EnabledOverlays)
+ {
+ // Draw enabled overlays on top
+ foreach (var overlayModel in _effectManager.EnabledOverlays)
+ {
+ overlayModel.Update();
+ bitmap = bitmap != null
+ ? overlayModel.GenerateBitmap(bitmap)
+ : overlayModel.GenerateBitmap();
+ }
+ }
+
+ if (bitmap == null)
+ return;
+
+ // If it exists, send bitmap to the device
+ _keyboardManager.ActiveKeyboard.DrawBitmap(bitmap);
+
+ // debugging TODO: Disable when window isn't shown (in Debug VM, or get rid of it, w/e)
+ _events.PublishOnUIThread(new ChangeBitmap(bitmap));
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Artemis/Artemis/Managers/MainManager.cs b/Artemis/Artemis/Managers/MainManager.cs
index 8bb4fc7d8..73ec376ec 100644
--- a/Artemis/Artemis/Managers/MainManager.cs
+++ b/Artemis/Artemis/Managers/MainManager.cs
@@ -12,42 +12,35 @@ using Artemis.Utilities.LogitechDll;
using Artemis.ViewModels;
using Caliburn.Micro;
using Ninject;
-using NLog;
-using LogManager = NLog.LogManager;
+using Ninject.Extensions.Logging;
namespace Artemis.Managers
{
- public class MainManager
+ ///
+ /// Contains all the other managers and non-loop related components
+ ///
+ public class MainManager : IDisposable
{
public delegate void PauseCallbackHandler();
- private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
- private readonly EffectManager _effectManager;
private readonly IEventAggregator _events;
- private readonly int _fps;
- private readonly KeyboardManager _keyboardManager;
- private bool _paused;
- private bool _restarting;
-
- public MainManager(IEventAggregator events, KeyboardManager keyboardManager, EffectManager effectManager)
+ public MainManager(IEventAggregator events, ILogger logger, LoopManager loopManager,
+ KeyboardManager keyboardManager, EffectManager effectManager)
{
+ Logger = logger;
+ LoopManager = loopManager;
+ KeyboardManager = keyboardManager;
+ EffectManager = effectManager;
+
Logger.Info("Intializing MainManager");
_events = events;
- _keyboardManager = keyboardManager;
- _effectManager = effectManager;
- _fps = 25;
//DialogService = dialogService;
KeyboardHook = new KeyboardHook();
- UpdateWorker = new BackgroundWorker {WorkerSupportsCancellation = true};
ProcessWorker = new BackgroundWorker {WorkerSupportsCancellation = true};
-
- UpdateWorker.DoWork += UpdateWorker_DoWork;
- UpdateWorker.RunWorkerCompleted += BackgroundWorkerExceptionCatcher;
-
ProcessWorker.DoWork += ProcessWorker_DoWork;
ProcessWorker.RunWorkerCompleted += BackgroundWorkerExceptionCatcher;
@@ -71,101 +64,21 @@ namespace Artemis.Managers
[Inject]
public Lazy ShellViewModel { get; set; }
+ public ILogger Logger { get; }
+ private LoopManager LoopManager { get; }
+ public KeyboardManager KeyboardManager { get; set; }
+ public EffectManager EffectManager { get; set; }
+
public PipeServer PipeServer { get; set; }
- public BackgroundWorker UpdateWorker { get; set; }
public BackgroundWorker ProcessWorker { get; set; }
-
public MetroDialogService DialogService { get; set; }
-
public KeyboardHook KeyboardHook { get; set; }
-
public GameStateWebServer GameStateWebServer { get; set; }
-
public bool ProgramEnabled { get; private set; }
public bool Suspended { get; set; }
-
public bool Running { get; private set; }
- public event PauseCallbackHandler PauseCallback;
-
- ///
- /// Take control of the keyboard and start sending data to it
- ///
- /// Whether starting was successful or not
- public bool Start(EffectModel effect = null)
- {
- Logger.Debug("Starting MainManager");
- // Can't take control when not enabled
- if (!ProgramEnabled || UpdateWorker.CancellationPending || UpdateWorker.IsBusy || _paused)
- return false;
-
- // Do nothing if already running
- if (Running)
- return true;
-
- // Only continue if a keyboard was loaded
- _keyboardManager.EnableLastKeyboard();
- if (_keyboardManager.ActiveKeyboard == null)
- return false;
-
- Running = true;
- if (effect != null)
- _effectManager.ChangeEffect(effect);
-
- // Start the update worker
- if (!UpdateWorker.IsBusy)
- UpdateWorker.RunWorkerAsync();
-
- return Running;
- }
-
- ///
- /// Releases control of the keyboard and stop sending data to it
- ///
- public void Stop()
- {
- Logger.Debug("Stopping MainManager");
- if (!Running || UpdateWorker.CancellationPending || _paused)
- return;
-
- // Stop the update worker
- UpdateWorker.CancelAsync();
- UpdateWorker.RunWorkerCompleted += FinishStop;
- }
-
- private void FinishStop(object sender, RunWorkerCompletedEventArgs e)
- {
- UpdateWorker.RunWorkerCompleted -= FinishStop;
- _keyboardManager.ReleaseActiveKeyboard();
- Running = false;
-
- Logger.Debug("Stopped MainManager");
- if (e.Error != null || !_restarting)
- return;
-
- Start();
- _restarting = false;
- }
-
- public void Pause()
- {
- if (!Running || UpdateWorker.CancellationPending || _paused)
- return;
-
- Logger.Debug("Pausing MainManager");
- _paused = true;
- }
-
- public void Unpause()
- {
- if (!_paused)
- return;
-
- Logger.Debug("Unpausing MainManager");
- _paused = false;
- }
-
- public void Shutdown()
+ public void Dispose()
{
Logger.Debug("Shutting down MainManager");
Stop();
@@ -175,20 +88,46 @@ namespace Artemis.Managers
PipeServer.Stop();
}
- public void Restart()
+ ///
+ /// Take control of the keyboard and start sending data to it
+ ///
+ /// Whether starting was successful or not
+ public bool Start(EffectModel effect = null)
{
- if (_restarting)
- return;
+ Logger.Debug("Starting MainManager");
+ // Can't take control when not enabled
+ if (!ProgramEnabled)
+ return false;
- Logger.Debug("Restarting MainManager");
+ // Do nothing if already running
+ if (Running)
+ return true;
+
+ // Only continue if a keyboard was loaded
+ KeyboardManager.EnableLastKeyboard();
+ if (KeyboardManager.ActiveKeyboard == null)
+ return false;
+
+ Running = true;
+ if (effect != null)
+ EffectManager.ChangeEffect(effect);
+
+ LoopManager.Start();
+
+ return Running;
+ }
+
+ ///
+ /// Releases control of the keyboard and stop sending data to it
+ ///
+ public void Stop()
+ {
if (!Running)
- {
- Start();
return;
- }
- _restarting = true;
- Stop();
+ Logger.Debug("Stopping MainManager");
+
+ LoopManager.Stop();
}
///
@@ -198,7 +137,7 @@ namespace Artemis.Managers
{
Logger.Debug("Enabling program");
ProgramEnabled = true;
- Start(_effectManager.GetLastEffect());
+ Start(EffectManager.GetLastEffect());
_events.PublishOnUIThread(new ToggleEnabled(ProgramEnabled));
}
@@ -213,88 +152,6 @@ namespace Artemis.Managers
_events.PublishOnUIThread(new ToggleEnabled(ProgramEnabled));
}
- #region Workers
-
- private void UpdateWorker_DoWork(object sender, DoWorkEventArgs e)
- {
- var sw = new Stopwatch();
- while (!UpdateWorker.CancellationPending)
- {
- // Skip frame when paused
- if (_paused)
- {
- PauseCallback?.Invoke();
- Thread.Sleep(1000/_fps);
- continue;
- }
-
- // Stop if no keyboard/effect are present
- if (_keyboardManager.ActiveKeyboard == null || _effectManager.ActiveEffect == null)
- {
- Thread.Sleep(1000/_fps);
- Logger.Debug("No active effect/keyboard, stopping");
-
- if (_effectManager.PauseEffect != null)
- {
- PauseCallback?.Invoke();
- Thread.Sleep(1000/_fps);
- }
- else
- Stop();
- continue;
- }
-
- // Don't stop when the effect is still initialized, just skip this frame
- if (!_effectManager.ActiveEffect.Initialized)
- {
- Thread.Sleep(1000/_fps);
- continue;
- }
-
- sw.Start();
-
- // Update the current effect
- if (_effectManager.ActiveEffect.Initialized)
- _effectManager.ActiveEffect.Update();
-
- // Get ActiveEffect's bitmap
- var bitmap = _effectManager.ActiveEffect.Initialized
- ? _effectManager.ActiveEffect.GenerateBitmap()
- : null;
-
- // Draw enabled overlays on top
- foreach (var overlayModel in _effectManager.EnabledOverlays)
- {
- overlayModel.Update();
- bitmap = bitmap != null ? overlayModel.GenerateBitmap(bitmap) : overlayModel.GenerateBitmap();
- }
-
- // If it exists, send bitmap to the device
- if (bitmap != null && _keyboardManager.ActiveKeyboard != null)
- {
- _keyboardManager.ActiveKeyboard.DrawBitmap(bitmap);
-
- // debugging TODO: Disable when window isn't shown
- _events.PublishOnUIThread(new ChangeBitmap(bitmap));
- }
-
- // Sleep according to time left this frame
- var sleep = (int) (1000/_fps - sw.ElapsedMilliseconds);
- if (sleep > 0)
- Thread.Sleep(sleep);
- sw.Reset();
- }
- }
-
- private void BackgroundWorkerExceptionCatcher(object sender, RunWorkerCompletedEventArgs e)
- {
- if (e.Error == null)
- return;
-
- Logger.Error(e.Error, "Exception in the BackgroundWorker");
- throw e.Error;
- }
-
private void ProcessWorker_DoWork(object sender, DoWorkEventArgs e)
{
while (!ProcessWorker.CancellationPending)
@@ -308,28 +165,35 @@ namespace Artemis.Managers
var runningProcesses = Process.GetProcesses();
// If the currently active effect is a disabled game, get rid of it.
- if (_effectManager.ActiveEffect != null)
- _effectManager.DisableInactiveGame();
+ if (EffectManager.ActiveEffect != null)
+ EffectManager.DisableInactiveGame();
// If the currently active effect is a no longer running game, get rid of it.
- var activeGame = _effectManager.ActiveEffect as GameModel;
+ var activeGame = EffectManager.ActiveEffect as GameModel;
if (activeGame != null)
if (!runningProcesses.Any(p => p.ProcessName == activeGame.ProcessName && p.HasExited == false))
- _effectManager.DisableGame(activeGame);
+ EffectManager.DisableGame(activeGame);
// Look for running games, stopping on the first one that's found.
- var newGame = _effectManager.EnabledGames
+ var newGame = EffectManager.EnabledGames
.FirstOrDefault(
g => runningProcesses.Any(p => p.ProcessName == g.ProcessName && p.HasExited == false));
// If it's not already enabled, do so.
- if (newGame != null && _effectManager.ActiveEffect != newGame)
- _effectManager.ChangeEffect(newGame);
+ if (newGame != null && EffectManager.ActiveEffect != newGame)
+ EffectManager.ChangeEffect(newGame);
Thread.Sleep(1000);
}
}
- #endregion
+ private void BackgroundWorkerExceptionCatcher(object sender, RunWorkerCompletedEventArgs e)
+ {
+ if (e.Error == null)
+ return;
+
+ Logger.Error(e.Error, "Exception in the BackgroundWorker");
+ throw e.Error;
+ }
}
}
\ No newline at end of file
diff --git a/Artemis/Artemis/Models/EffectModel.cs b/Artemis/Artemis/Models/EffectModel.cs
index dd6436d27..a70af27f1 100644
--- a/Artemis/Artemis/Models/EffectModel.cs
+++ b/Artemis/Artemis/Models/EffectModel.cs
@@ -7,18 +7,13 @@ namespace Artemis.Models
public abstract class EffectModel : IDisposable
{
public delegate void SettingsUpdateHandler(EffectSettings settings);
-
public bool Initialized;
-
- protected KeyboardManager KeyboardManager;
-
public MainManager MainManager;
public string Name;
- protected EffectModel(MainManager mainManager, KeyboardManager keyboardManager)
+ protected EffectModel(MainManager mainManager)
{
MainManager = mainManager;
- KeyboardManager = keyboardManager;
}
public abstract void Dispose();
diff --git a/Artemis/Artemis/Models/GameModel.cs b/Artemis/Artemis/Models/GameModel.cs
index 327fcecf8..a499076b5 100644
--- a/Artemis/Artemis/Models/GameModel.cs
+++ b/Artemis/Artemis/Models/GameModel.cs
@@ -6,8 +6,7 @@ namespace Artemis.Models
{
public abstract class GameModel : EffectModel
{
- protected GameModel(MainManager mainManager, KeyboardManager keyboardManager, GameSettings settings)
- : base(mainManager, keyboardManager)
+ protected GameModel(MainManager mainManager, GameSettings settings): base(mainManager)
{
Settings = settings;
}
diff --git a/Artemis/Artemis/Models/OverlayModel.cs b/Artemis/Artemis/Models/OverlayModel.cs
index c5a1670a4..ffd43b5e4 100644
--- a/Artemis/Artemis/Models/OverlayModel.cs
+++ b/Artemis/Artemis/Models/OverlayModel.cs
@@ -8,8 +8,7 @@ namespace Artemis.Models
private bool _enabled;
public string ProcessName;
- protected OverlayModel(MainManager mainManager, KeyboardManager keyboardManager)
- : base(mainManager, keyboardManager)
+ protected OverlayModel(MainManager mainManager): base(mainManager)
{
}
diff --git a/Artemis/Artemis/Modules/Effects/AmbientLightning/AmbientLightningEffectModel.cs b/Artemis/Artemis/Modules/Effects/AmbientLightning/AmbientLightningEffectModel.cs
index 9b921ae96..27140f257 100644
--- a/Artemis/Artemis/Modules/Effects/AmbientLightning/AmbientLightningEffectModel.cs
+++ b/Artemis/Artemis/Modules/Effects/AmbientLightning/AmbientLightningEffectModel.cs
@@ -20,8 +20,8 @@ namespace Artemis.Modules.Effects.AmbientLightning
private ScreenCapture _screenCapturer;
private KeyboardRectangle _topRect;
- public AmbientLightningEffectModel(MainManager mainManager, KeyboardManager keyboardManager,
- AmbientLightningEffectSettings settings) : base(mainManager, keyboardManager)
+ public AmbientLightningEffectModel(MainManager mainManager, AmbientLightningEffectSettings settings)
+ : base(mainManager)
{
Name = "Ambient Lightning";
Settings = settings;
@@ -49,9 +49,9 @@ namespace Artemis.Modules.Effects.AmbientLightning
_colors = new List();
_screenCapturer = new ScreenCapture();
- _topRect = new KeyboardRectangle(KeyboardManager.ActiveKeyboard, 0, 0, new List(),
- LinearGradientMode.Horizontal) {Height = KeyboardManager.ActiveKeyboard.Height*Scale/2};
- _botRect = new KeyboardRectangle(KeyboardManager.ActiveKeyboard, 0, 0, new List(),
+ _topRect = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard, 0, 0, new List(),
+ LinearGradientMode.Horizontal) {Height = MainManager.KeyboardManager.ActiveKeyboard.Height*Scale/2};
+ _botRect = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard, 0, 0, new List(),
LinearGradientMode.Horizontal);
Initialized = true;
@@ -102,8 +102,8 @@ namespace Artemis.Modules.Effects.AmbientLightning
}
// Put the resulting colors in 6 rectangles, their size differs per keyboard
- var rectWidth = KeyboardManager.ActiveKeyboard.Width/3*Scale;
- var rectHeight = KeyboardManager.ActiveKeyboard.Height/2*Scale;
+ var rectWidth = MainManager.KeyboardManager.ActiveKeyboard.Width/3*Scale;
+ var rectHeight = MainManager.KeyboardManager.ActiveKeyboard.Height/2*Scale;
for (var row = 0; row < 2; row++)
{
for (var column = 0; column < 3; column++)
@@ -116,7 +116,7 @@ namespace Artemis.Modules.Effects.AmbientLightning
public override Bitmap GenerateBitmap()
{
- var bitmap = KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
+ var bitmap = MainManager.KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
using (var g = Graphics.FromImage(bitmap))
{
var i = 0;
diff --git a/Artemis/Artemis/Modules/Effects/AmbientLightning/AmbientLightningEffectViewModel.cs b/Artemis/Artemis/Modules/Effects/AmbientLightning/AmbientLightningEffectViewModel.cs
index a92ecd540..08c163b34 100644
--- a/Artemis/Artemis/Modules/Effects/AmbientLightning/AmbientLightningEffectViewModel.cs
+++ b/Artemis/Artemis/Modules/Effects/AmbientLightning/AmbientLightningEffectViewModel.cs
@@ -7,16 +7,13 @@ namespace Artemis.Modules.Effects.AmbientLightning
{
public sealed class AmbientLightningEffectViewModel : EffectViewModel, IHandle
{
- public AmbientLightningEffectViewModel(MainManager mainManager, KeyboardManager keyboardManager,
- EffectManager effectManager, IEventAggregator events)
- : base(
- mainManager, effectManager,
- new AmbientLightningEffectModel(mainManager, keyboardManager, new AmbientLightningEffectSettings()))
+ public AmbientLightningEffectViewModel(MainManager main, IEventAggregator events)
+ : base(main, new AmbientLightningEffectModel(main, new AmbientLightningEffectSettings()))
{
DisplayName = "Ambient Lightning";
events.Subscribe(this);
- EffectManager.EffectModels.Add(EffectModel);
+ MainManager.EffectManager.EffectModels.Add(EffectModel);
}
public void Handle(ActiveEffectChanged message)
diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs
index 019f93abe..db31d2341 100644
--- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs
+++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs
@@ -22,8 +22,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer
private int _sensitivity;
private IWaveIn _waveIn;
- public AudioVisualizerModel(MainManager mainManager, KeyboardManager keyboardManager,
- AudioVisualizerSettings settings) : base(mainManager, keyboardManager)
+ public AudioVisualizerModel(MainManager mainManager, AudioVisualizerSettings settings) : base(mainManager)
{
Settings = settings;
Name = "Audiovisualizer";
@@ -58,7 +57,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer
public override void Enable()
{
Initialized = false;
- Lines = KeyboardManager.ActiveKeyboard.Width;
+ Lines = MainManager.KeyboardManager.ActiveKeyboard.Width;
// TODO: Device selection
SelectedDeviceId = new MMDeviceEnumerator()
@@ -70,7 +69,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer
for (var i = 0; i < Lines; i++)
{
SoundRectangles.Add(new KeyboardRectangle(
- KeyboardManager.ActiveKeyboard,
+ MainManager.KeyboardManager.ActiveKeyboard,
0, 0, new List
{
ColorHelpers.ToDrawingColor(Settings.TopColor),
@@ -122,7 +121,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer
// Apply Sensitivity setting
height = height*_sensitivity;
var keyboardHeight =
- (int) Math.Round(KeyboardManager.ActiveKeyboard.Height/100.00*height*Scale);
+ (int) Math.Round(MainManager.KeyboardManager.ActiveKeyboard.Height/100.00*height*Scale);
if (keyboardHeight > SoundRectangles[i].Height)
SoundRectangles[i].Height = keyboardHeight;
else
@@ -132,7 +131,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer
SoundRectangles[i].Width = Scale;
if (_fromBottom)
- SoundRectangles[i].Y = KeyboardManager.ActiveKeyboard.Height*Scale -
+ SoundRectangles[i].Y = MainManager.KeyboardManager.ActiveKeyboard.Height*Scale -
SoundRectangles[i].Height;
}
_generating = false;
@@ -146,7 +145,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer
// Lock the _spectrumData array while busy with it
_generating = true;
- var bitmap = KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
+ var bitmap = MainManager.KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
using (var g = Graphics.FromImage(bitmap))
{
foreach (var soundRectangle in SoundRectangles)
diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerViewModel.cs b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerViewModel.cs
index 74c6cc0fa..483cb1b98 100644
--- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerViewModel.cs
+++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerViewModel.cs
@@ -7,16 +7,13 @@ namespace Artemis.Modules.Effects.AudioVisualizer
{
public sealed class AudioVisualizerViewModel : EffectViewModel, IHandle
{
- public AudioVisualizerViewModel(MainManager mainManager, KeyboardManager keyboardManager,
- EffectManager effectManager, IEventAggregator events)
- : base(
- mainManager, effectManager,
- new AudioVisualizerModel(mainManager, keyboardManager, new AudioVisualizerSettings()))
+ public AudioVisualizerViewModel(MainManager main, IEventAggregator events)
+ : base(main, new AudioVisualizerModel(main, new AudioVisualizerSettings()))
{
DisplayName = "Audio Visualization";
events.Subscribe(this);
- EffectManager.EffectModels.Add(EffectModel);
+ MainManager.EffectManager.EffectModels.Add(EffectModel);
}
public void Handle(ActiveEffectChanged message)
diff --git a/Artemis/Artemis/Modules/Effects/Debug/DebugEffectModel.cs b/Artemis/Artemis/Modules/Effects/Debug/DebugEffectModel.cs
index fcc29f84a..d8e6fc79f 100644
--- a/Artemis/Artemis/Modules/Effects/Debug/DebugEffectModel.cs
+++ b/Artemis/Artemis/Modules/Effects/Debug/DebugEffectModel.cs
@@ -10,8 +10,7 @@ namespace Artemis.Modules.Effects.Debug
// TODO: Remove
internal class DebugEffectModel : EffectModel
{
- public DebugEffectModel(MainManager mainManager, KeyboardManager keyboardManager, DebugEffectSettings settings)
- : base(mainManager, keyboardManager)
+ public DebugEffectModel(MainManager mainManager, DebugEffectSettings settings) : base(mainManager)
{
Name = "Debug Effect";
Settings = settings;
@@ -34,7 +33,7 @@ namespace Artemis.Modules.Effects.Debug
{
Initialized = false;
- KeyboardRectangle = new KeyboardRectangle(KeyboardManager.ActiveKeyboard, 0, 0, new List
+ KeyboardRectangle = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard, 0, 0, new List
{
Color.Red,
Color.OrangeRed,
diff --git a/Artemis/Artemis/Modules/Effects/Debug/DebugEffectViewModel.cs b/Artemis/Artemis/Modules/Effects/Debug/DebugEffectViewModel.cs
index ede2f75a0..1054f0440 100644
--- a/Artemis/Artemis/Modules/Effects/Debug/DebugEffectViewModel.cs
+++ b/Artemis/Artemis/Modules/Effects/Debug/DebugEffectViewModel.cs
@@ -14,16 +14,13 @@ namespace Artemis.Modules.Effects.Debug
private ImageSource _imageSource;
private string _selectedRectangleType;
- public DebugEffectViewModel(MainManager mainManager, KeyboardManager keyboardManager,
- EffectManager effectManager, IEventAggregator events)
- : base(
- mainManager, effectManager,
- new DebugEffectModel(mainManager, keyboardManager, new DebugEffectSettings()))
+ public DebugEffectViewModel(MainManager main, IEventAggregator events)
+ : base(main, new DebugEffectModel(main, new DebugEffectSettings()))
{
DisplayName = "Debug Effect";
events.Subscribe(this);
- EffectManager.EffectModels.Add(EffectModel);
+ MainManager.EffectManager.EffectModels.Add(EffectModel);
}
public BindableCollection RectangleTypes
diff --git a/Artemis/Artemis/Modules/Effects/ProfilePreview/ProfilePreviewModel.cs b/Artemis/Artemis/Modules/Effects/ProfilePreview/ProfilePreviewModel.cs
index e79ca39f9..3cfe203ab 100644
--- a/Artemis/Artemis/Modules/Effects/ProfilePreview/ProfilePreviewModel.cs
+++ b/Artemis/Artemis/Modules/Effects/ProfilePreview/ProfilePreviewModel.cs
@@ -10,8 +10,7 @@ namespace Artemis.Modules.Effects.ProfilePreview
{
private readonly ProfilePreviewDataModel _previewDataModel;
- public ProfilePreviewModel(MainManager mainManager, KeyboardManager keyboardManager)
- : base(mainManager, keyboardManager)
+ public ProfilePreviewModel(MainManager main) : base(main)
{
Name = "Profile Preview";
_previewDataModel = new ProfilePreviewDataModel();
@@ -41,12 +40,12 @@ namespace Artemis.Modules.Effects.ProfilePreview
public override Bitmap GenerateBitmap()
{
- var bitmap = KeyboardManager.ActiveKeyboard.KeyboardBitmap(4);
+ var bitmap = MainManager.KeyboardManager.ActiveKeyboard.KeyboardBitmap(4);
if (SelectedProfile == null)
return bitmap;
- var keyboardRect = KeyboardManager.ActiveKeyboard.KeyboardRectangle(4);
+ var keyboardRect = MainManager.KeyboardManager.ActiveKeyboard.KeyboardRectangle(4);
var image = SelectedProfile.GenerateBitmap(keyboardRect, _previewDataModel, true);
// Draw on top of everything else
diff --git a/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveModel.cs b/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveModel.cs
index 329fa03f7..22f115f0e 100644
--- a/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveModel.cs
+++ b/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveModel.cs
@@ -16,8 +16,7 @@ namespace Artemis.Modules.Effects.TypeWave
private readonly List _waves;
private Color _randomColor;
- public TypeWaveModel(MainManager mainManager, KeyboardManager keyboardManager, TypeWaveSettings settings)
- : base(mainManager, keyboardManager)
+ public TypeWaveModel(MainManager mainManager, TypeWaveSettings settings) : base(mainManager)
{
Name = "TypeWave";
_waves = new List();
@@ -97,7 +96,7 @@ namespace Artemis.Modules.Effects.TypeWave
if (_waves.Count == 0)
return null;
- var bitmap = KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
+ var bitmap = MainManager.KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
using (var g = Graphics.FromImage(bitmap))
{
g.Clear(Color.Transparent);
@@ -114,7 +113,7 @@ namespace Artemis.Modules.Effects.TypeWave
_waves[i].Size, _waves[i].Size);
Color fillColor;
- if (KeyboardManager.ActiveKeyboard is CorsairRGB)
+ if (MainManager.KeyboardManager.ActiveKeyboard is CorsairRGB)
fillColor = Color.Black;
else
fillColor = Color.Transparent;
diff --git a/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveViewModel.cs b/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveViewModel.cs
index 2e42d55a8..5e762899e 100644
--- a/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveViewModel.cs
+++ b/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveViewModel.cs
@@ -7,14 +7,13 @@ namespace Artemis.Modules.Effects.TypeWave
{
public sealed class TypeWaveViewModel : EffectViewModel, IHandle
{
- public TypeWaveViewModel(MainManager mainManager, KeyboardManager keyboardManager, EffectManager effectManager,
- IEventAggregator events)
- : base(mainManager, effectManager, new TypeWaveModel(mainManager, keyboardManager, new TypeWaveSettings()))
+ public TypeWaveViewModel(MainManager main, IEventAggregator events)
+ : base(main, new TypeWaveModel(main, new TypeWaveSettings()))
{
DisplayName = "Type Waves";
events.Subscribe(this);
- EffectManager.EffectModels.Add(EffectModel);
+ MainManager.EffectManager.EffectModels.Add(EffectModel);
}
public void Handle(ActiveEffectChanged message)
diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeModel.cs b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeModel.cs
index d243f1e23..bae1671bc 100644
--- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeModel.cs
+++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeModel.cs
@@ -8,8 +8,7 @@ namespace Artemis.Modules.Games.CounterStrike
{
public class CounterStrikeModel : GameModel
{
- public CounterStrikeModel(MainManager mainManager, CounterStrikeSettings settings,
- KeyboardManager keyboardManager) : base(mainManager, keyboardManager, settings)
+ public CounterStrikeModel(MainManager mainManager, CounterStrikeSettings settings) : base(mainManager, settings)
{
Name = "CounterStrike";
ProcessName = "csgo";
@@ -50,7 +49,7 @@ namespace Artemis.Modules.Games.CounterStrike
if (Profile == null || GameDataModel == null)
return null;
- var keyboardRect = KeyboardManager.ActiveKeyboard.KeyboardRectangle(Scale);
+ var keyboardRect = MainManager.KeyboardManager.ActiveKeyboard.KeyboardRectangle(Scale);
return Profile.GenerateBitmap(keyboardRect, GameDataModel);
}
diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeViewModel.cs b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeViewModel.cs
index b2157259d..f2d54f056 100644
--- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeViewModel.cs
+++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeViewModel.cs
@@ -8,16 +8,13 @@ namespace Artemis.Modules.Games.CounterStrike
{
public sealed class CounterStrikeViewModel : GameViewModel
{
- public CounterStrikeViewModel(MainManager mainManager, EffectManager effectManager,
- KeyboardManager keyboardManager)
- : base(
- mainManager, effectManager,
- new CounterStrikeModel(mainManager, new CounterStrikeSettings(), keyboardManager))
+ public CounterStrikeViewModel(MainManager main)
+ : base(main, new CounterStrikeModel(main, new CounterStrikeSettings()))
{
DisplayName = "CS:GO";
// Create effect model and add it to MainManager
- EffectManager.EffectModels.Add(GameModel);
+ MainManager.EffectManager.EffectModels.Add(GameModel);
PlaceConfigFile();
}
diff --git a/Artemis/Artemis/Modules/Games/Dota2/Dota2Model.cs b/Artemis/Artemis/Modules/Games/Dota2/Dota2Model.cs
index 788a8df5b..bd99b08c2 100644
--- a/Artemis/Artemis/Modules/Games/Dota2/Dota2Model.cs
+++ b/Artemis/Artemis/Modules/Games/Dota2/Dota2Model.cs
@@ -15,15 +15,12 @@ namespace Artemis.Modules.Games.Dota2
{
internal class Dota2Model : GameModel
{
- private readonly KeyboardManager _keyboardManager;
private KeyboardRegion _abilityKeys;
private KeyboardRegion _keyPad;
private KeyboardRegion _topRow;
- public Dota2Model(MainManager mainManager, KeyboardManager keyboardManager, Dota2Settings settings)
- : base(mainManager, keyboardManager, settings)
+ public Dota2Model(MainManager mainManager, Dota2Settings settings) : base(mainManager, settings)
{
- _keyboardManager = keyboardManager;
Name = "Dota2";
ProcessName = "dota2";
Settings = settings;
@@ -43,35 +40,35 @@ namespace Artemis.Modules.Games.Dota2
public override void Enable()
{
Initialized = false;
- _topRow = _keyboardManager.ActiveKeyboard.KeyboardRegions.First(r => r.RegionName == "TopRow");
- _keyPad = _keyboardManager.ActiveKeyboard.KeyboardRegions.First(r => r.RegionName == "NumPad");
- _abilityKeys = _keyboardManager.ActiveKeyboard.KeyboardRegions.First(r => r.RegionName == "QWER");
- HealthRectangle = new KeyboardRectangle(_keyboardManager.ActiveKeyboard
+ _topRow = MainManager.KeyboardManager.ActiveKeyboard.KeyboardRegions.First(r => r.RegionName == "TopRow");
+ _keyPad = MainManager.KeyboardManager.ActiveKeyboard.KeyboardRegions.First(r => r.RegionName == "NumPad");
+ _abilityKeys = MainManager.KeyboardManager.ActiveKeyboard.KeyboardRegions.First(r => r.RegionName == "QWER");
+ HealthRectangle = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard
, 0
, _topRow.BottomRight.Y*Scale
, new List()
, LinearGradientMode.Horizontal)
{Height = Scale, ContainedBrush = false};
- ManaRectangle = new KeyboardRectangle(_keyboardManager.ActiveKeyboard
+ ManaRectangle = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard
, 0
, (_topRow.BottomRight.Y + 1)*Scale
, new List()
, LinearGradientMode.Horizontal)
{Height = Scale, ContainedBrush = false};
- EventRectangle = new KeyboardRectangle(_keyboardManager.ActiveKeyboard
+ EventRectangle = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard
, 0
, _topRow.TopLeft.X + 3
, new List()
, LinearGradientMode.Horizontal)
{
- Height = _keyboardManager.ActiveKeyboard.Height*Scale - Scale
+ Height = MainManager.KeyboardManager.ActiveKeyboard.Height*Scale - Scale
,
- Width = _keyboardManager.ActiveKeyboard.Width*Scale - Scale - 12
+ Width = MainManager.KeyboardManager.ActiveKeyboard.Width*Scale - Scale - 12
};
- DayCycleRectangle = new KeyboardRectangle(_keyboardManager.ActiveKeyboard
+ DayCycleRectangle = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard
, _keyPad.TopLeft.X*Scale
, _keyPad.TopLeft.Y*Scale
, new List()
@@ -99,7 +96,7 @@ namespace Artemis.Modules.Games.Dota2
case "3": //League of Legends
for (var i = 0; i < AbilityKeysRectangles.Length; i++)
{
- AbilityKeysRectangles[i] = new KeyboardRectangle(_keyboardManager.ActiveKeyboard,
+ AbilityKeysRectangles[i] = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard,
(_abilityKeys.TopLeft.X + i)*Scale - 2,
_abilityKeys.TopLeft.Y*Scale,
new List(),
@@ -111,7 +108,7 @@ namespace Artemis.Modules.Games.Dota2
}
break;
case "2":
- AbilityKeysRectangles[0] = new KeyboardRectangle(_keyboardManager.ActiveKeyboard,
+ AbilityKeysRectangles[0] = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard,
_abilityKeys.TopLeft.X*Scale - 2,
_abilityKeys.TopLeft.Y*Scale,
new List(),
@@ -120,7 +117,7 @@ namespace Artemis.Modules.Games.Dota2
Height = Scale,
Width = Scale
};
- AbilityKeysRectangles[1] = new KeyboardRectangle(_keyboardManager.ActiveKeyboard,
+ AbilityKeysRectangles[1] = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard,
(_abilityKeys.TopLeft.X + 2)*Scale - 2,
_abilityKeys.TopLeft.Y*Scale,
new List(),
@@ -129,7 +126,7 @@ namespace Artemis.Modules.Games.Dota2
Height = Scale,
Width = Scale
};
- AbilityKeysRectangles[2] = new KeyboardRectangle(_keyboardManager.ActiveKeyboard,
+ AbilityKeysRectangles[2] = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard,
(_abilityKeys.TopLeft.X + 3)*Scale - 2,
_abilityKeys.TopLeft.Y*Scale,
new List(),
@@ -138,7 +135,7 @@ namespace Artemis.Modules.Games.Dota2
Height = Scale,
Width = Scale
};
- AbilityKeysRectangles[3] = new KeyboardRectangle(_keyboardManager.ActiveKeyboard,
+ AbilityKeysRectangles[3] = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard,
(_abilityKeys.TopLeft.X + 3)*Scale - 2,
(_abilityKeys.TopLeft.Y + 1)*Scale,
new List(),
@@ -152,7 +149,7 @@ namespace Artemis.Modules.Games.Dota2
case "5": //Smite
for (var i = 0; i < AbilityKeysRectangles.Length; i++)
{
- AbilityKeysRectangles[i] = new KeyboardRectangle(_keyboardManager.ActiveKeyboard,
+ AbilityKeysRectangles[i] = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard,
(_abilityKeys.TopLeft.X + i)*Scale - 3,
(_abilityKeys.TopLeft.Y - 1)*Scale,
new List(),
@@ -297,7 +294,7 @@ namespace Artemis.Modules.Games.Dota2
public override Bitmap GenerateBitmap()
{
- var bitmap = _keyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
+ var bitmap = MainManager.KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
using (var g = Graphics.FromImage(bitmap))
{
diff --git a/Artemis/Artemis/Modules/Games/Dota2/Dota2ViewModel.cs b/Artemis/Artemis/Modules/Games/Dota2/Dota2ViewModel.cs
index cc8630665..f7fc3b862 100644
--- a/Artemis/Artemis/Modules/Games/Dota2/Dota2ViewModel.cs
+++ b/Artemis/Artemis/Modules/Games/Dota2/Dota2ViewModel.cs
@@ -9,12 +9,11 @@ namespace Artemis.Modules.Games.Dota2
{
public sealed class Dota2ViewModel : GameViewModel
{
- public Dota2ViewModel(MainManager mainManager, EffectManager effectManager, KeyboardManager keyboardManager)
- : base(mainManager, effectManager, new Dota2Model(mainManager, keyboardManager, new Dota2Settings()))
+ public Dota2ViewModel(MainManager main) : base(main, new Dota2Model(main, new Dota2Settings()))
{
DisplayName = "Dota 2";
- EffectManager.EffectModels.Add(GameModel);
+ MainManager.EffectManager.EffectModels.Add(GameModel);
PlaceConfigFile();
}
diff --git a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
index 4d56a630c..fdccbda9a 100644
--- a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
+++ b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
@@ -15,8 +15,7 @@ namespace Artemis.Modules.Games.RocketLeague
private Memory _memory;
private GamePointersCollection _pointer;
- public RocketLeagueModel(MainManager mainManager, KeyboardManager keyboardManager, RocketLeagueSettings settings)
- : base(mainManager, keyboardManager, settings)
+ public RocketLeagueModel(MainManager mainManager, RocketLeagueSettings settings) : base(mainManager, settings)
{
Name = "RocketLeague";
ProcessName = "RocketLeague";
@@ -73,7 +72,7 @@ namespace Artemis.Modules.Games.RocketLeague
if (Profile == null || GameDataModel == null)
return null;
- var keyboardRect = KeyboardManager.ActiveKeyboard.KeyboardRectangle(Scale);
+ var keyboardRect = MainManager.KeyboardManager.ActiveKeyboard.KeyboardRectangle(Scale);
return Profile.GenerateBitmap(keyboardRect, GameDataModel);
}
}
diff --git a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueViewModel.cs b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueViewModel.cs
index 3c1f6881c..65e70557d 100644
--- a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueViewModel.cs
+++ b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueViewModel.cs
@@ -11,15 +11,12 @@ namespace Artemis.Modules.Games.RocketLeague
{
private string _versionText;
- public RocketLeagueViewModel(MainManager mainManager, KeyboardManager keyboardManager,
- EffectManager effectManager)
- : base(
- mainManager, effectManager,
- new RocketLeagueModel(mainManager, keyboardManager, new RocketLeagueSettings()))
+ public RocketLeagueViewModel(MainManager main)
+ : base(main, new RocketLeagueModel(main, new RocketLeagueSettings()))
{
DisplayName = "Rocket League";
- EffectManager.EffectModels.Add(GameModel);
+ MainManager.EffectManager.EffectModels.Add(GameModel);
SetVersionText();
}
diff --git a/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionModel.cs b/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionModel.cs
index bd290e195..5b39771fd 100644
--- a/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionModel.cs
+++ b/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionModel.cs
@@ -12,7 +12,6 @@ namespace Artemis.Modules.Games.TheDivision
{
public class TheDivisionModel : GameModel
{
- private readonly KeyboardManager _keyboardManager;
private Wave _ammoWave;
private TheDivisionDataModel _dataModel;
private KeyboardRectangle _hpRect;
@@ -23,10 +22,8 @@ namespace Artemis.Modules.Games.TheDivision
private StickyValue _stickyHp;
private int _trans;
- public TheDivisionModel(MainManager mainManager, KeyboardManager keyboardManager, TheDivisionSettings settings)
- : base(mainManager, keyboardManager, settings)
+ public TheDivisionModel(MainManager mainManager, TheDivisionSettings settings) : base(mainManager, settings)
{
- _keyboardManager = keyboardManager;
Name = "TheDivision";
ProcessName = "TheDivision";
Scale = 4;
@@ -50,7 +47,7 @@ namespace Artemis.Modules.Games.TheDivision
Initialized = false;
_ammoWave = new Wave(new Point(30, 14), 0, Color.Transparent);
- _hpRect = new KeyboardRectangle(_keyboardManager.ActiveKeyboard, 3*Scale, 0*Scale,
+ _hpRect = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard, 3*Scale, 0*Scale,
new List(),
LinearGradientMode.Horizontal)
{
@@ -60,7 +57,7 @@ namespace Artemis.Modules.Games.TheDivision
ContainedBrush = false
};
- _p2 = new KeyboardRectangle(_keyboardManager.ActiveKeyboard, 0*Scale, 1*Scale,
+ _p2 = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard, 0*Scale, 1*Scale,
new List(),
LinearGradientMode.Horizontal)
{
@@ -69,7 +66,7 @@ namespace Artemis.Modules.Games.TheDivision
Rotate = true,
ContainedBrush = false
};
- _p3 = new KeyboardRectangle(_keyboardManager.ActiveKeyboard, 0*Scale, 3*Scale,
+ _p3 = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard, 0*Scale, 3*Scale,
new List(),
LinearGradientMode.Horizontal)
{
@@ -78,7 +75,7 @@ namespace Artemis.Modules.Games.TheDivision
Rotate = true,
ContainedBrush = false
};
- _p4 = new KeyboardRectangle(_keyboardManager.ActiveKeyboard, 0*Scale, 5*Scale,
+ _p4 = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard, 0*Scale, 5*Scale,
new List(),
LinearGradientMode.Horizontal)
{
@@ -207,7 +204,7 @@ namespace Artemis.Modules.Games.TheDivision
public override Bitmap GenerateBitmap()
{
- var bitmap = _keyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
+ var bitmap = MainManager.KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
using (var g = Graphics.FromImage(bitmap))
{
g.Clear(Color.Transparent);
diff --git a/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionViewModel.cs b/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionViewModel.cs
index ee0e75534..b0606d0b1 100644
--- a/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionViewModel.cs
+++ b/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionViewModel.cs
@@ -5,14 +5,11 @@ namespace Artemis.Modules.Games.TheDivision
{
public sealed class TheDivisionViewModel : GameViewModel
{
- public TheDivisionViewModel(MainManager mainManager, EffectManager effectManager,
- KeyboardManager keyboardManager)
- : base(
- mainManager, effectManager,
- new TheDivisionModel(mainManager, keyboardManager, new TheDivisionSettings()))
+ public TheDivisionViewModel(MainManager main)
+ : base(main, new TheDivisionModel(main, new TheDivisionSettings()))
{
DisplayName = "The Division";
- EffectManager.EffectModels.Add(GameModel);
+ MainManager.EffectManager.EffectModels.Add(GameModel);
}
}
}
\ No newline at end of file
diff --git a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs
index 45725fcb7..693429d74 100644
--- a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs
+++ b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs
@@ -18,8 +18,7 @@ namespace Artemis.Modules.Games.Witcher3
private KeyboardRectangle _signRect;
private string _witcherSettings;
- public Witcher3Model(MainManager mainManager, KeyboardManager keyboardManager, Witcher3Settings settings)
- : base(mainManager, keyboardManager, settings)
+ public Witcher3Model(MainManager mainManager, Witcher3Settings settings) : base(mainManager, settings)
{
Name = "Witcher3";
ProcessName = "witcher3";
@@ -45,7 +44,7 @@ namespace Artemis.Modules.Games.Witcher3
{
Initialized = false;
- _signRect = new KeyboardRectangle(KeyboardManager.ActiveKeyboard, 0, 0, new List(),
+ _signRect = new KeyboardRectangle(MainManager.KeyboardManager.ActiveKeyboard, 0, 0, new List(),
LinearGradientMode.Horizontal)
{
Rotate = true,
@@ -107,7 +106,7 @@ namespace Artemis.Modules.Games.Witcher3
public override Bitmap GenerateBitmap()
{
- var bitmap = KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
+ var bitmap = MainManager.KeyboardManager.ActiveKeyboard.KeyboardBitmap(Scale);
using (var g = Graphics.FromImage(bitmap))
{
g.Clear(Color.Transparent);
diff --git a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3ViewModel.cs b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3ViewModel.cs
index d4f38ba61..d08f291de 100644
--- a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3ViewModel.cs
+++ b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3ViewModel.cs
@@ -12,11 +12,10 @@ namespace Artemis.Modules.Games.Witcher3
{
public sealed class Witcher3ViewModel : GameViewModel
{
- public Witcher3ViewModel(MainManager mainManager, KeyboardManager keyboardManager, EffectManager effectManager)
- : base(mainManager, effectManager, new Witcher3Model(mainManager, keyboardManager, new Witcher3Settings()))
+ public Witcher3ViewModel(MainManager main) : base(main, new Witcher3Model(main, new Witcher3Settings()))
{
DisplayName = "The Witcher 3";
- EffectManager.EffectModels.Add(GameModel);
+ MainManager.EffectManager.EffectModels.Add(GameModel);
}
public static string Name => "The Witcher 3";
diff --git a/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayModel.cs b/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayModel.cs
index 3dcd7897b..62a72dc0e 100644
--- a/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayModel.cs
+++ b/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayModel.cs
@@ -9,14 +9,13 @@ namespace Artemis.Modules.Overlays.VolumeDisplay
{
public class VolumeDisplayModel : OverlayModel
{
- public VolumeDisplayModel(MainManager mainManager, KeyboardManager keyboardManager,
- VolumeDisplaySettings settings) : base(mainManager, keyboardManager)
+ public VolumeDisplayModel(MainManager mainManager, VolumeDisplaySettings settings) : base(mainManager)
{
Settings = settings;
Name = "VolumeDisplay";
Enabled = Settings.Enabled;
- VolumeDisplay = new VolumeBar(keyboardManager, settings);
+ VolumeDisplay = new VolumeBar(MainManager.KeyboardManager, settings);
}
public VolumeBar VolumeDisplay { get; set; }
@@ -64,7 +63,7 @@ namespace Artemis.Modules.Overlays.VolumeDisplay
public override Bitmap GenerateBitmap()
{
- return GenerateBitmap(KeyboardManager.ActiveKeyboard.KeyboardBitmap(4));
+ return GenerateBitmap(MainManager.KeyboardManager.ActiveKeyboard.KeyboardBitmap(4));
}
public override Bitmap GenerateBitmap(Bitmap bitmap)
diff --git a/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayViewModel.cs b/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayViewModel.cs
index 53113e6cb..1e205efb8 100644
--- a/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayViewModel.cs
+++ b/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayViewModel.cs
@@ -5,9 +5,7 @@ namespace Artemis.Modules.Overlays.VolumeDisplay
{
public sealed class VolumeDisplayViewModel : OverlayViewModel
{
- public VolumeDisplayViewModel(MainManager mainManager, KeyboardManager keyboardManager,
- EffectManager effectManager)
- : base(mainManager, effectManager)
+ public VolumeDisplayViewModel(MainManager mainManager): base(mainManager)
{
DisplayName = "Volume Display";
@@ -15,8 +13,8 @@ namespace Artemis.Modules.Overlays.VolumeDisplay
OverlaySettings = new VolumeDisplaySettings();
// Create effect model and add it to MainManager
- OverlayModel = new VolumeDisplayModel(mainManager, keyboardManager, (VolumeDisplaySettings) OverlaySettings);
- EffectManager.EffectModels.Add(OverlayModel);
+ OverlayModel = new VolumeDisplayModel(mainManager, (VolumeDisplaySettings) OverlaySettings);
+ MainManager.EffectManager.EffectModels.Add(OverlayModel);
}
}
}
\ No newline at end of file
diff --git a/Artemis/Artemis/ViewModels/Abstract/EffectViewModel.cs b/Artemis/Artemis/ViewModels/Abstract/EffectViewModel.cs
index 23d2d6b87..1a8b5025d 100644
--- a/Artemis/Artemis/ViewModels/Abstract/EffectViewModel.cs
+++ b/Artemis/Artemis/ViewModels/Abstract/EffectViewModel.cs
@@ -9,13 +9,11 @@ namespace Artemis.ViewModels.Abstract
protected readonly EffectModel EffectModel;
private EffectSettings _effectSettings;
private bool _showDisabledPopup;
- protected EffectManager EffectManager;
protected MainManager MainManager;
- protected EffectViewModel(MainManager mainManager, EffectManager effectManager, EffectModel effectModel)
+ protected EffectViewModel(MainManager mainManager, EffectModel effectModel)
{
MainManager = mainManager;
- EffectManager = effectManager;
EffectModel = effectModel;
}
@@ -30,7 +28,7 @@ namespace Artemis.ViewModels.Abstract
}
}
- public bool EffectEnabled => EffectManager.ActiveEffect == EffectModel;
+ public bool EffectEnabled => MainManager.EffectManager.ActiveEffect == EffectModel;
public bool ShowDisabledPopup
{
@@ -53,9 +51,9 @@ namespace Artemis.ViewModels.Abstract
}
if (EffectEnabled)
- EffectManager.ClearEffect();
+ MainManager.EffectManager.ClearEffect();
else
- EffectManager.ChangeEffect(EffectModel);
+ MainManager.EffectManager.ChangeEffect(EffectModel);
}
public void SaveSettings()
@@ -65,7 +63,7 @@ namespace Artemis.ViewModels.Abstract
return;
// Restart the effect if it's currently running to apply settings.
- EffectManager.ChangeEffect(EffectModel, true);
+ MainManager.EffectManager.ChangeEffect(EffectModel);
}
public async void ResetSettings()
diff --git a/Artemis/Artemis/ViewModels/Abstract/GameViewModel.cs b/Artemis/Artemis/ViewModels/Abstract/GameViewModel.cs
index 1534e592d..3a175ba24 100644
--- a/Artemis/Artemis/ViewModels/Abstract/GameViewModel.cs
+++ b/Artemis/Artemis/ViewModels/Abstract/GameViewModel.cs
@@ -15,12 +15,10 @@ namespace Artemis.ViewModels.Abstract
private bool _editorShown;
private GameSettings _gameSettings;
private EffectModel _lastEffect;
- protected EffectManager EffectManager;
- protected GameViewModel(MainManager mainManager, EffectManager effectManager, GameModel gameModel)
+ protected GameViewModel(MainManager mainManager, GameModel gameModel)
{
MainManager = mainManager;
- EffectManager = effectManager;
GameModel = gameModel;
GameSettings = gameModel.Settings;
@@ -45,7 +43,7 @@ namespace Artemis.ViewModels.Abstract
}
}
- public bool GameEnabled => EffectManager.ActiveEffect == GameModel;
+ public bool GameEnabled => MainManager.EffectManager.ActiveEffect == GameModel;
public void ToggleEffect()
{
@@ -59,7 +57,7 @@ namespace Artemis.ViewModels.Abstract
return;
// Restart the game if it's currently running to apply settings.
- EffectManager.ChangeEffect(GameModel, true);
+ MainManager.EffectManager.ChangeEffect(GameModel);
}
public async void ResetSettings()
@@ -109,11 +107,11 @@ namespace Artemis.ViewModels.Abstract
if (enable)
{
// Store the current effect so it can be restored later
- if (!(EffectManager.ActiveEffect is ProfilePreviewModel))
- _lastEffect = EffectManager.ActiveEffect;
+ if (!(MainManager.EffectManager.ActiveEffect is ProfilePreviewModel))
+ _lastEffect = MainManager.EffectManager.ActiveEffect;
- EffectManager.ProfilePreviewModel.SelectedProfile = ProfileEditor.SelectedProfile;
- EffectManager.ChangeEffect(EffectManager.ProfilePreviewModel);
+ MainManager.EffectManager.ProfilePreviewModel.SelectedProfile = ProfileEditor.SelectedProfile;
+ MainManager.EffectManager.ChangeEffect(MainManager.EffectManager.ProfilePreviewModel);
}
else
{
@@ -123,12 +121,12 @@ namespace Artemis.ViewModels.Abstract
var gameModel = _lastEffect as GameModel;
if (gameModel != null)
if (!gameModel.Enabled)
- EffectManager.GetLastEffect();
+ MainManager.EffectManager.GetLastEffect();
else
- EffectManager.ChangeEffect(_lastEffect, true);
+ MainManager.EffectManager.ChangeEffect(_lastEffect);
}
else
- EffectManager.ClearEffect();
+ MainManager.EffectManager.ClearEffect();
}
_editorShown = enable;
@@ -140,7 +138,7 @@ namespace Artemis.ViewModels.Abstract
return;
GameModel.Profile = ProfileEditor.SelectedProfile;
- EffectManager.ProfilePreviewModel.SelectedProfile = ProfileEditor.SelectedProfile;
+ MainManager.EffectManager.ProfilePreviewModel.SelectedProfile = ProfileEditor.SelectedProfile;
}
}
diff --git a/Artemis/Artemis/ViewModels/Abstract/OverlayViewModel.cs b/Artemis/Artemis/ViewModels/Abstract/OverlayViewModel.cs
index 906429892..4223b4364 100644
--- a/Artemis/Artemis/ViewModels/Abstract/OverlayViewModel.cs
+++ b/Artemis/Artemis/ViewModels/Abstract/OverlayViewModel.cs
@@ -6,13 +6,11 @@ namespace Artemis.ViewModels.Abstract
{
public abstract class OverlayViewModel : Screen
{
- protected readonly EffectManager EffectManager;
protected readonly MainManager MainManager;
private OverlaySettings _overlaySettings;
- protected OverlayViewModel(MainManager mainManager, EffectManager effectManager)
+ protected OverlayViewModel(MainManager mainManager)
{
- EffectManager = effectManager;
MainManager = mainManager;
}
diff --git a/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs b/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs
index 8e2bf907c..d3fb9bee3 100644
--- a/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs
+++ b/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs
@@ -60,7 +60,7 @@ namespace Artemis.ViewModels.Flyouts
if (value == null)
return;
- _keyboardManager.ChangeKeyboard(
+ _keyboardManager.EnableKeyboard(
_keyboardManager.KeyboardProviders.FirstOrDefault(
k => k.Name == _selectedKeyboardProvider));
}
diff --git a/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs b/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs
index 7142b3872..4938b42b2 100644
--- a/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs
+++ b/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs
@@ -127,7 +127,7 @@ namespace Artemis.ViewModels
public void ExitApplication()
{
- MainManager.Shutdown();
+ MainManager.Dispose();
Application.Current.Shutdown();
// Sometimes you need to be rough.
diff --git a/Artemis/Artemis/packages.config b/Artemis/Artemis/packages.config
index 4a02c761e..bd14a3c12 100644
--- a/Artemis/Artemis/packages.config
+++ b/Artemis/Artemis/packages.config
@@ -1,5 +1,4 @@
-
@@ -14,6 +13,8 @@
+
+