From 8eb7ed28631179ee3bbbf3a9e69cb2d36a2e16ee Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Tue, 1 Mar 2016 14:10:49 +0100 Subject: [PATCH] Generalized GamesViewModel and applied fixes to them, closing #27 --- Artemis/Artemis/App.xaml | 2 +- Artemis/Artemis/Artemis.csproj | 6 +- Artemis/Artemis/Managers/KeyboardManager.cs | 2 - Artemis/Artemis/Models/EffectModel.cs | 62 +++++++------- Artemis/Artemis/Models/GameSettings.cs | 7 ++ .../AudioVisualizerViewModel.cs | 2 +- .../Effects/Debug/DebugEffectViewModel.cs | 2 +- .../Effects/TypeHole/TypeHoleViewModel.cs | 2 +- .../Effects/TypeWave/TypeWaveViewModel.cs | 2 +- .../CounterStrike/CounterStrikeSettings.cs | 3 +- .../CounterStrike/CounterStrikeView.xaml | 18 ++-- .../CounterStrike/CounterStrikeViewModel.cs | 71 +++++----------- .../Games/RocketLeague/RocketLeagueModel.cs | 19 ++--- .../RocketLeague/RocketLeagueSettings.cs | 3 +- .../Games/RocketLeague/RocketLeagueView.xaml | 8 +- .../RocketLeague/RocketLeagueViewModel.cs | 53 ++---------- .../Games/Witcher3/Witcher3Settings.cs | 4 +- .../Games/Witcher3/Witcher3ViewModel.cs | 84 ++++++------------- .../Memory/GamePointer.cs} | 50 +++++------ Artemis/Artemis/Utilities/Updater.cs | 3 +- .../ViewModels/Abstract/EffectViewModel.cs | 10 ++- .../ViewModels/Abstract/GameViewModel.cs | 57 +++++++++++++ 22 files changed, 215 insertions(+), 255 deletions(-) create mode 100644 Artemis/Artemis/Models/GameSettings.cs rename Artemis/Artemis/{Models/GamePointersCollectionModel.cs => Utilities/Memory/GamePointer.cs} (86%) create mode 100644 Artemis/Artemis/ViewModels/Abstract/GameViewModel.cs diff --git a/Artemis/Artemis/App.xaml b/Artemis/Artemis/App.xaml index 110eccc23..9d7642210 100644 --- a/Artemis/Artemis/App.xaml +++ b/Artemis/Artemis/App.xaml @@ -17,7 +17,7 @@ + Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" /> diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index a0ba8b1df..8de9fdf7b 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -245,7 +245,8 @@ - + + AudioVisualization.settings True @@ -291,7 +292,6 @@ - @@ -321,6 +321,7 @@ + @@ -329,6 +330,7 @@ + diff --git a/Artemis/Artemis/Managers/KeyboardManager.cs b/Artemis/Artemis/Managers/KeyboardManager.cs index 4bf566a55..f6e7c9d1f 100644 --- a/Artemis/Artemis/Managers/KeyboardManager.cs +++ b/Artemis/Artemis/Managers/KeyboardManager.cs @@ -52,8 +52,6 @@ namespace Artemis.Managers if (!keyboardProvider.CanEnable()) { _mainManager.DialogService.ShowErrorMessageBox(keyboardProvider.CantEnableText); - //MessageBox.Show(keyboardProvider.CantEnableText, "Artemis (╯°□°)╯︵ ┻━┻", MessageBoxButtons.OK, - // MessageBoxIcon.Warning); return; } diff --git a/Artemis/Artemis/Models/EffectModel.cs b/Artemis/Artemis/Models/EffectModel.cs index 2c6aae812..13f01a478 100644 --- a/Artemis/Artemis/Models/EffectModel.cs +++ b/Artemis/Artemis/Models/EffectModel.cs @@ -1,32 +1,32 @@ -using System; -using System.Drawing; -using Artemis.Managers; - -namespace Artemis.Models -{ - public abstract class EffectModel : IDisposable - { - public delegate void SettingsUpdateHandler(EffectSettings settings); - - public bool Initialized; - - public MainManager MainManager; - public string Name; - - protected EffectModel(MainManager mainManager) - { - MainManager = mainManager; - } - - public abstract void Dispose(); - - // Called on creation - public abstract void Enable(); - - // Called every iteration - public abstract void Update(); - - // Called after every update - public abstract Bitmap GenerateBitmap(); - } +using System; +using System.Drawing; +using Artemis.Managers; + +namespace Artemis.Models +{ + public abstract class EffectModel : IDisposable + { + public delegate void SettingsUpdateHandler(EffectSettings settings); + + public bool Initialized; + + public MainManager MainManager; + public string Name; + + protected EffectModel(MainManager mainManager) + { + MainManager = mainManager; + } + + public abstract void Dispose(); + + // Called on creation + public abstract void Enable(); + + // Called every iteration + public abstract void Update(); + + // Called after every update + public abstract Bitmap GenerateBitmap(); + } } \ No newline at end of file diff --git a/Artemis/Artemis/Models/GameSettings.cs b/Artemis/Artemis/Models/GameSettings.cs new file mode 100644 index 000000000..dcfe3527f --- /dev/null +++ b/Artemis/Artemis/Models/GameSettings.cs @@ -0,0 +1,7 @@ +namespace Artemis.Models +{ + public abstract class GameSettings : EffectSettings + { + public bool Enabled { get; set; } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerViewModel.cs b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerViewModel.cs index 1a88a7803..ac7815048 100644 --- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerViewModel.cs +++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerViewModel.cs @@ -18,7 +18,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer // Create effect model and add it to MainManager EffectModel = new AudioVisualizerModel(mainManager, (AudioVisualizerSettings) EffectSettings); - MainManager.EffectManager.EffectModels.Add((AudioVisualizerModel) EffectModel); + MainManager.EffectManager.EffectModels.Add(EffectModel); } public static string Name => "Audio Visualizer"; diff --git a/Artemis/Artemis/Modules/Effects/Debug/DebugEffectViewModel.cs b/Artemis/Artemis/Modules/Effects/Debug/DebugEffectViewModel.cs index ee6bdd8c3..6ee3ad9ca 100644 --- a/Artemis/Artemis/Modules/Effects/Debug/DebugEffectViewModel.cs +++ b/Artemis/Artemis/Modules/Effects/Debug/DebugEffectViewModel.cs @@ -27,7 +27,7 @@ namespace Artemis.Modules.Effects.Debug // Create effect model and add it to MainManager EffectModel = new DebugEffectModel(mainManager, (DebugEffectSettings) EffectSettings); - MainManager.EffectManager.EffectModels.Add((DebugEffectModel) EffectModel); + MainManager.EffectManager.EffectModels.Add(EffectModel); } diff --git a/Artemis/Artemis/Modules/Effects/TypeHole/TypeHoleViewModel.cs b/Artemis/Artemis/Modules/Effects/TypeHole/TypeHoleViewModel.cs index eb17d8c38..e748948ed 100644 --- a/Artemis/Artemis/Modules/Effects/TypeHole/TypeHoleViewModel.cs +++ b/Artemis/Artemis/Modules/Effects/TypeHole/TypeHoleViewModel.cs @@ -15,7 +15,7 @@ namespace Artemis.Modules.Effects.TypeHole // Create effect model and add it to MainManager EffectModel = new TypeHoleModel(mainManager); - MainManager.EffectManager.EffectModels.Add((TypeHoleModel) EffectModel); + MainManager.EffectManager.EffectModels.Add(EffectModel); } public static string Name => "Type Holes (NYI)"; diff --git a/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveViewModel.cs b/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveViewModel.cs index cd861471c..4e335092f 100644 --- a/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveViewModel.cs +++ b/Artemis/Artemis/Modules/Effects/TypeWave/TypeWaveViewModel.cs @@ -18,7 +18,7 @@ namespace Artemis.Modules.Effects.TypeWave // Create effect model and add it to MainManager EffectModel = new TypeWaveModel(mainManager, (TypeWaveSettings) EffectSettings); - MainManager.EffectManager.EffectModels.Add((TypeWaveModel) EffectModel); + MainManager.EffectManager.EffectModels.Add(EffectModel); } public static string Name => "Type Waves"; diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeSettings.cs b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeSettings.cs index d29f47922..224c1088c 100644 --- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeSettings.cs +++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeSettings.cs @@ -3,14 +3,13 @@ using Artemis.Models; namespace Artemis.Modules.Games.CounterStrike { - public class CounterStrikeSettings : EffectSettings + public class CounterStrikeSettings : GameSettings { public CounterStrikeSettings() { Load(); } - public bool Enabled { get; set; } public string GameDirectory { get; set; } public bool AmmoEnabled { get; set; } diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeView.xaml b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeView.xaml index 7348dd7d2..449c1a6ec 100644 --- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeView.xaml +++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeView.xaml @@ -37,7 +37,7 @@ @@ -50,7 +50,7 @@ Width="130" HorizontalAlignment="Left" />