This commit is contained in:
2023-03-11 00:07:11 +02:00
parent 873855937f
commit 7e2fa02d07
8 changed files with 105 additions and 100 deletions

View File

@@ -1,36 +1,52 @@
using System;
using System.Threading.Tasks;
using System.IO;
using PluginManager.Online.Helpers;
using PluginManager.Database;
namespace PluginManager;
public static class Config
{
private static bool IsLoaded = false;
public static async Task Initialize()
public static async Task Initialize(string DatabaseName, bool isConsole)
{
if (IsLoaded)
return;
Directory.CreateDirectory("./Data/Resources");
Directory.CreateDirectory("./Data/Plugins");
Directory.CreateDirectory("./Data/PAKS");
Settings.sqlDatabase = new SqlDatabase(DatabaseName);
await Settings.sqlDatabase.Open();
if (!await Settings.sqlDatabase.TableExistsAsync("Plugins"))
await Settings.sqlDatabase.CreateTableAsync("Plugins", "PluginName", "Version");
if (!await Settings.sqlDatabase.TableExistsAsync("Variables"))
await Settings.sqlDatabase.CreateTableAsync("Variables", "VarName", "Value", "ReadOnly");
IsLoaded = true;
Logger.Initialize(isConsole);
PluginManager.Others.ArchiveManager.Initialize();
if(isConsole)
Logger.LogEvent += (message) => { Console.Write(message); };
}
public static class Variables
{
public static async Task<string> GetValueAsync(string VarName)
public static async Task<string?> GetValueAsync(string VarName)
{
if (!IsLoaded)
throw new Exception("Config is not loaded");
return await Settings.sqlDatabase.GetValueAsync("Variables", "VarName", VarName, "Value");
}
public static string GetValue(string VarName)
public static string? GetValue(string VarName)
{
if (!IsLoaded)
throw new Exception("Config is not loaded");