From 45cb9857014fce20966db29dc51743c580230e21 Mon Sep 17 00:00:00 2001 From: RaidMax Date: Mon, 12 Jun 2017 19:24:12 -0500 Subject: [PATCH] Added Configuration manager class --- Admin/Manager.cs | 6 +-- Admin/lib/SharedLibrary.dll | Bin 105984 -> 106496 bytes Plugins/FastRestart/Plugin.cs | 26 ++++----- Plugins/VoteMap/Plugin.cs | 2 + SharedLibrary/Helpers/Configuration.cs | 50 ------------------ SharedLibrary/Helpers/ConfigurationManager.cs | 48 +++++++++++++++++ SharedLibrary/Interfaces/ISerializable.cs | 2 +- SharedLibrary/SharedLibrary.csproj | 2 +- 8 files changed, 68 insertions(+), 68 deletions(-) delete mode 100644 SharedLibrary/Helpers/Configuration.cs create mode 100644 SharedLibrary/Helpers/ConfigurationManager.cs diff --git a/Admin/Manager.cs b/Admin/Manager.cs index 84e8f8b1b..296fd8028 100644 --- a/Admin/Manager.cs +++ b/Admin/Manager.cs @@ -75,6 +75,9 @@ namespace IW4MAdmin { try { + foreach (var Plugin in SharedLibrary.Plugins.PluginImporter.ActivePlugins) + await Plugin.OnLoadAsync(ServerInstance); + await ServerInstance.Initialize(); Servers.Add(ServerInstance); @@ -82,9 +85,6 @@ namespace IW4MAdmin var Status = new SharedLibrary.Helpers.AsyncStatus(ServerInstance, UPDATE_FREQUENCY); TaskStatuses.Add(Status); - foreach (var Plugin in SharedLibrary.Plugins.PluginImporter.ActivePlugins) - await Plugin.OnLoadAsync(ServerInstance); - Logger.WriteVerbose($"Now monitoring {ServerInstance.Hostname}"); } diff --git a/Admin/lib/SharedLibrary.dll b/Admin/lib/SharedLibrary.dll index 215d26768d6e6d3c66316adfb4e3b9fffebfe451..1e1e4970300d18c1507f1c2644eac646480fc394 100644 GIT binary patch literal 106496 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 diff --git a/Plugins/FastRestart/Plugin.cs b/Plugins/FastRestart/Plugin.cs index 8137a786c..6f3b5ffaa 100644 --- a/Plugins/FastRestart/Plugin.cs +++ b/Plugins/FastRestart/Plugin.cs @@ -1,5 +1,6 @@ using System; using System.Threading.Tasks; +using System.Collections.Generic; using SharedLibrary; using SharedLibrary.Interfaces; @@ -19,11 +20,8 @@ namespace Plugin public override async Task ExecuteAsync(Event E) { - var Config = new FastRestartConfig() { Enabled = true }; - if (!new Configuration(E.Owner).Write(Config)) - await E.Origin.Tell("Failed to save the configuration file for fast restart"); - else - await E.Origin.Tell("Fast restarting is now enabled for this server"); + FastRestartPlugin.ConfigManager.UpdateProperty(E.Owner, new KeyValuePair("Enabled", true)); + await E.Origin.Tell("Fast restarting is now enabled for this server"); } } @@ -33,11 +31,8 @@ namespace Plugin public override async Task ExecuteAsync(Event E) { - var Config = new FastRestartConfig() { Enabled = false }; - if (!new Configuration(E.Owner).Write(Config)) - await E.Origin.Tell("Failed to save the configuration file for fast restart"); - else - await E.Origin.Tell("Fast restarting is now disabled for this server"); + FastRestartPlugin.ConfigManager.UpdateProperty(E.Owner, new KeyValuePair("Enabled", false)); + await E.Origin.Tell("Fast restarting is now disabled for this server"); } } @@ -46,6 +41,8 @@ namespace Plugin bool MatchEnded; DateTime MatchEndTime; + public static ConfigurationManager ConfigManager { get; private set; } + public string Name { get { return "Fast Restarter"; } } public float Version { get { return 1.0f; } } @@ -70,13 +67,16 @@ namespace Plugin public async Task OnLoadAsync(Server S) { - // this initializes the file if it doesn't exist already - new Configuration(S).Read(); + ConfigManager = new ConfigurationManager(typeof(FastRestartPlugin)); + ConfigManager.AddConfiguration(S); + + if (ConfigManager.GetConfiguration(S).Keys.Count == 0) + ConfigManager.AddProperty(S, new KeyValuePair("Enabled", false)); } public async Task OnTickAsync(Server S) { - if (!new Configuration(S).Read().Enabled) + if ((bool)ConfigManager.GetConfiguration(S)["Enabled"] == false) return; MatchEnded = (await S.GetDvarAsync("scr_gameended")).Value == 1; diff --git a/Plugins/VoteMap/Plugin.cs b/Plugins/VoteMap/Plugin.cs index f8a1afe29..fad69f6bf 100644 --- a/Plugins/VoteMap/Plugin.cs +++ b/Plugins/VoteMap/Plugin.cs @@ -222,6 +222,7 @@ namespace Votemap_Plugin /// public async Task OnTickAsync(Server S) { + return; var serverVotes = getServerVotes(S.GetPort()); if (serverVotes != null) @@ -280,6 +281,7 @@ namespace Votemap_Plugin public async Task OnEventAsync(Event E, Server S) { + return; if (E.Type == Event.GType.Start) { serverVotingList.Add(new ServerVoting(S.GetPort())); diff --git a/SharedLibrary/Helpers/Configuration.cs b/SharedLibrary/Helpers/Configuration.cs deleted file mode 100644 index d8bdec09b..000000000 --- a/SharedLibrary/Helpers/Configuration.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace SharedLibrary.Helpers -{ - public class Configuration : Interfaces.Serialize - { - string FilePostfix; - public Configuration(Server S) - { - FilePostfix = $"_{S.GetIP()}_{S.GetPort()}.cfg"; - } - - public T Read() - { - try - { - return Read(); - } - - catch (Exceptions.SerializeException) - { - return default(T); - } - } - - public bool Write(T Data) - { - try - { - Write(Filename(), Data); - return true; - } - - catch(Exceptions.SerializeException) - { - return false; - } - } - - public override string Filename() - { - return $"config/{typeof(T).ToString()}_{FilePostfix}"; - } - - } -} diff --git a/SharedLibrary/Helpers/ConfigurationManager.cs b/SharedLibrary/Helpers/ConfigurationManager.cs new file mode 100644 index 000000000..b5777bef8 --- /dev/null +++ b/SharedLibrary/Helpers/ConfigurationManager.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; + +namespace SharedLibrary.Helpers +{ + public class ConfigurationManager + { + Dictionary> ConfigurationSet; + Type PluginType; + + public ConfigurationManager(Type PluginType) + { + ConfigurationSet = new Dictionary>(); + this.PluginType = PluginType; + } + + public void AddConfiguration(Server S) + { + try + { + var Config = Interfaces.Serialize>.Read($"config/{PluginType.ToString()}_{S.ToString()}.cfg"); + ConfigurationSet.Add(S.ToString(), Config); + } + + catch(Exceptions.SerializeException) + { + ConfigurationSet.Add(S.ToString(), new Dictionary()); + } + } + + public void AddProperty(Server S, KeyValuePair Property) + { + ConfigurationSet[S.ToString()].Add(Property.Key, Property.Value); + Interfaces.Serialize>.Write($"config/{PluginType.ToString()}_{S.ToString()}.cfg", ConfigurationSet[S.ToString()]); + } + + public void UpdateProperty(Server S, KeyValuePair Property) + { + ConfigurationSet[S.ToString()][Property.Key] = Property.Value; + Interfaces.Serialize>.Write($"config/{PluginType.ToString()}_{S.ToString()}.cfg", ConfigurationSet[S.ToString()]); + } + + public IDictionary GetConfiguration(Server S) + { + return ConfigurationSet[S.ToString()]; + } + } +} diff --git a/SharedLibrary/Interfaces/ISerializable.cs b/SharedLibrary/Interfaces/ISerializable.cs index 12f996aa9..9a6f4484d 100644 --- a/SharedLibrary/Interfaces/ISerializable.cs +++ b/SharedLibrary/Interfaces/ISerializable.cs @@ -23,7 +23,7 @@ namespace SharedLibrary.Interfaces catch (Exception e) { - throw new Exceptions.SerializeException($"Could not desialize file {filename}: {e.Message}"); + throw new Exceptions.SerializeException($"Could not deserialize file {filename}: {e.Message}"); } } diff --git a/SharedLibrary/SharedLibrary.csproj b/SharedLibrary/SharedLibrary.csproj index 9715bf8f3..af6638ce1 100644 --- a/SharedLibrary/SharedLibrary.csproj +++ b/SharedLibrary/SharedLibrary.csproj @@ -73,7 +73,7 @@ - +