Fixed some bugs and added version checking system.

This commit is contained in:
2022-07-06 13:38:44 +03:00
parent 3abb4cdda7
commit 1292e0f585
5 changed files with 122 additions and 53 deletions

View File

@@ -5,6 +5,7 @@ using System.Text.Json;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Threading;
using Newtonsoft.Json.Linq;
namespace PluginManager
{
@@ -16,7 +17,7 @@ namespace PluginManager
public static class Config
{
public static class Plugins
public static class PluginConfig
{
public static List<Tuple<string, PluginType>> InstalledPlugins = new();
@@ -81,11 +82,33 @@ namespace PluginManager
if (appConfig!.ApplicationVariables!.ContainsKey(key)) return false;
if (value == null) return false;
appConfig.ApplicationVariables.Add(key, value);
if (isProtected) appConfig.ProtectedKeyWords!.Add(key);
if (isProtected && key != "Version") appConfig.ProtectedKeyWords!.Add(key);
SaveConfig();
return true;
}
public static void GetAndAddValueToVariable(string key, string value, bool isReadOnly)
{
if (Config.ContainsKey(key)) return;
if (int.TryParse(value, out var intValue))
Config.AddValueToVariables(key, intValue, isReadOnly);
else if (bool.TryParse(value, out var boolValue))
Config.AddValueToVariables(key, boolValue, isReadOnly);
else if (float.TryParse(value, out var floatValue))
Config.AddValueToVariables(key, floatValue, isReadOnly);
else if (double.TryParse(value, out var doubleValue))
Config.AddValueToVariables(key, doubleValue, isReadOnly);
else if (uint.TryParse(value, out var uintValue))
Config.AddValueToVariables(key, uintValue, isReadOnly);
else if (long.TryParse(value, out var longValue))
Config.AddValueToVariables(key, longValue, isReadOnly);
else if (byte.TryParse(value, out var byteValue))
Config.AddValueToVariables(key, byteValue, isReadOnly);
else
Config.AddValueToVariables(key, value, isReadOnly);
}
public static T? GetValue<T>(string key)
{
if (!appConfig!.ApplicationVariables!.ContainsKey(key)) return default;