-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathConfigUtils.cs
47 lines (45 loc) · 1.65 KB
/
ConfigUtils.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TShockAPI;
namespace TileCommands
{
public static class ConfigUtils
{
public static readonly string configDir = TShock.SavePath + "/TileCommands";
public static readonly string configPath = configDir + "/tilecommands.json";
public static TConfig config = new TConfig() { DisableFloatText = false, EnableChatTips = true };
public static void LoadConfig()
{
if (Directory.Exists(configDir))
{
if (File.Exists(configPath))
{
config = JsonConvert.DeserializeObject<TConfig>(File.ReadAllText(configPath));
}
else{
File.WriteAllText(configPath, JsonConvert.SerializeObject(config, Formatting.Indented));
}
}else
{
Directory.CreateDirectory(configDir);
File.WriteAllText(configPath,JsonConvert.SerializeObject(config,Formatting.Indented));
}
}
public static void UpdateConfig() {
File.WriteAllText(configPath, JsonConvert.SerializeObject(config, Formatting.Indented));
}
}
public class TConfig {
[JsonProperty("关闭方块漂浮字提示")]
public bool DisableFloatText { get; set; }
[JsonProperty("开启聊天窗口提示")]
public bool EnableChatTips { get; set; }
[JsonProperty("指令方块列表")]
public List<TileInfo> Tiles = new List<TileInfo>();
}
}