-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathModels.cs
91 lines (80 loc) · 2.85 KB
/
Models.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace osu_stats
{
public class Settings
{
public int UserID { get; set; }
public int[] ClearsPage { get; set; }
public int[] Clears { get; set; }
public int[] ClearsOld { get; set; }
public int[] Firsts { get; set; }
public int[] FirstsOld { get; set; }
public int[] ScoreRank { get; set; }
public int[] ScoreRankOld { get; set; }
public long[] NextScoreRank { get; set; }
public int[] NextPPRank { get; set; }
public int StdRxPlayTimeOffset { get; set; }
public int DefaultGameMode { get; set; }
public string NewJson { get; set; }
public string OldJson { get; set; }
public Dictionary<string, bool> Fields { get; set; }
public static Settings Load() {
try {
return JsonConvert.DeserializeObject<Settings>(File.ReadAllText("settings.json"));
} catch {
return new Settings();
}
}
public void Save() {
File.WriteAllText("settings.json", JsonConvert.SerializeObject(this, Formatting.Indented));
}
}
public class LeaderboardModel()
{
public DateTime LastUpdated { get; set; }
public static LeaderboardModel Load(bool reset = false) {
try {
if (!reset)
return JsonConvert.DeserializeObject<LeaderboardModel>(File.ReadAllText("leaderboard.json"));
} catch { }
var model = new LeaderboardModel();
model.LastUpdated = DateTime.FromFileTimeUtc(0);
return model;
}
public void Save() {
File.WriteAllText("leaderboard.json", JsonConvert.SerializeObject(this, Formatting.Indented));
}
}
public class FileStream {
public bool json;
public string content;
public string path;
public string Compile(Dictionary<string, string> parameters) {
var result = content;
foreach (var key in parameters.Keys) {
result = result.Replace($"${key}", parameters[key]);
}
return result;
}
}
public class FileStreams {
public List<FileStream> streams;
public static FileStreams Load() {
try {
return JsonConvert.DeserializeObject<FileStreams>(File.ReadAllText("filestreams.json"));
} catch { }
var model = new FileStreams();
model.streams = new List<FileStream>();
return model;
}
public void Save() {
File.WriteAllText("filestreams.json", JsonConvert.SerializeObject(this, Formatting.Indented));
}
}
}