forked from LingFeng-bbben/MajdataEdit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMajson.cs
117 lines (107 loc) · 3.33 KB
/
Majson.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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
namespace MajdataEdit;
internal class Majson
{
public string artist = "default";
public string designer = "default";
public string difficulty = "EZ";
public int diffNum = 0;
public string level = "1";
public List<SimaiTimingPoint> timingList = new();
public string title = "default";
}
internal class EditRequestjson
{
public float audioSpeed;
public float backgroundCover;
public EditorComboIndicator comboStatusType;
public EditorPlayMethod editorPlayMethod;
public EditorControlMethod control;
public string? jsonPath;
public float noteSpeed;
public long startAt;
public float startTime;
public float touchSpeed;
public bool smoothSlideAnime;
}
public enum EditorPlayMethod
{
Classic,DJAuto,Random,Disabled
}
public enum EditorComboIndicator
{
None,
// List of viable indicators that won't be a static content.
// ScoreBorder, AchievementMaxDown, ScoreDownDeluxe are static.
Combo,
ScoreClassic,
AchievementClassic,
AchievementDownClassic,
AchievementDeluxe = 11,
AchievementDownDeluxe,
ScoreDeluxe,
// Please prefix custom indicator with C
CScoreDedeluxe = 101,
CScoreDownDedeluxe,
MAX
}
internal enum EditorControlMethod
{
Start,
Stop,
OpStart,
Pause,
Continue,
Record
}
//this setting is per maidata
internal class MajSetting
{
public float Answer_Level = 0.7f;
public float BGM_Level = 0.7f;
public float Break_Level = 0.7f;
public float Break_Slide_Level = 0.7f;
public float Ex_Level = 0.7f;
public float Hanabi_Level = 0.7f;
public float Judge_Level = 0.7f;
public int lastEditDiff;
public double lastEditTime;
public float Slide_Level = 0.7f;
public float Touch_Level = 0.7f;
}
//this setting is global
public class EditorSetting
{
public bool AutoCheckUpdate = true;
public float backgroundCover = 0.6f;
public int ChartRefreshDelay = 1000;
public EditorComboIndicator comboStatusType = 0;
public EditorPlayMethod editorPlayMethod;
public string DecreasePlaybackSpeedKey = "Ctrl+o";
public float Default_Answer_Level = 0.7f;
public float Default_BGM_Level = 0.7f;
public float Default_Break_Level = 0.7f;
public float Default_Break_Slide_Level = 0.7f;
public float Default_Ex_Level = 0.7f;
public float Default_Hanabi_Level = 0.7f;
public float Default_Judge_Level = 0.7f;
public float Default_Slide_Level = 0.7f;
public float Default_Touch_Level = 0.7f;
public float DefaultSlideAccuracy = 0.2f;
public float FontSize = 12;
public string IncreasePlaybackSpeedKey = "Ctrl+p";
public string Language = "en-US";
public string Mirror180Key = "Ctrl+l";
public string Mirror45Key = "Ctrl+OemSemicolon";
public string MirrorCcw45Key = "Ctrl+OemQuotes";
public string MirrorLeftRightKey = "Ctrl+j";
public string MirrorUpDownKey = "Ctrl+k";
public string PlayPauseKey = "Ctrl+Shift+c";
public float playSpeed = 7.5f;
public string PlayStopKey = "Ctrl+Shift+x";
public int RenderMode = 0; //0=硬件渲染(默认),1=软件渲染
public int SyntaxCheckLevel = 1; //0=禁用,1=警告(默认),2=启用
public string SaveKey = "Ctrl+s";
public string SendViewerKey = "Ctrl+Shift+z";
public float touchSpeed = 7.5f;
public bool SmoothSlideAnime = false;
}