mirror of
https://github.com/rafi1212122/BLHX.Server.git
synced 2025-12-14 23:45:01 +01:00
utils for JSON files and RNG/rolling, abstracted arg parsing for commands
This commit is contained in:
35
BLHX.Server.Common/Utils/JSON.cs
Normal file
35
BLHX.Server.Common/Utils/JSON.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System.Text.Json;
|
||||
|
||||
namespace BLHX.Server.Common.Utils;
|
||||
|
||||
public static class JSON
|
||||
{
|
||||
public static string ConfigPath => Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json");
|
||||
|
||||
public static T Load<T>(string path) where T : new()
|
||||
{
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
T obj = new T();
|
||||
Save(path, obj);
|
||||
}
|
||||
|
||||
return JsonSerializer.Deserialize<T>(File.ReadAllText(path));
|
||||
}
|
||||
|
||||
public static void Save<T>(string path, T obj)
|
||||
{
|
||||
File.WriteAllText(path, JsonSerializer.Serialize(obj, new JsonSerializerOptions()
|
||||
{
|
||||
WriteIndented = true
|
||||
}));
|
||||
}
|
||||
|
||||
public static string Stringify<T>(T obj)
|
||||
{
|
||||
return JsonSerializer.Serialize(obj, new JsonSerializerOptions()
|
||||
{
|
||||
WriteIndented = true
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user