-
Notifications
You must be signed in to change notification settings - Fork 0
/
beatmap.js
140 lines (108 loc) · 2.32 KB
/
beatmap.js
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// class Beatmap
// {
// public:
// private:
// };
export class Beatmap {
// Constructor
constructor(file) {
this.file = file;
// Beatmap(id);
this.EDifficultyAttributeType = {
Aim = 0,
Speed,
OD,
AR,
MaxCombo,
Strain,
HitWindow300,
ScoreMultiplier,
Flashlight,
SliderFactor,
NumTypes,
};
this.ERankedStatus = {
Ranked = 1,
Approved = 2,
Qualified = 3,
Loved = 4,
};
this.EScoreVersion = {
ScoreV1 = 1,
ScoreV2 = 2,
};
this.s_difficultyAttributes;
// var list_of_stocks = {
// "CBB": "Communications",
// "VZ": "Communications",
// "UPS": "Transportation",
// "RRTS": "Transportation",
// "AAC": "Heath"
// };
// for (var key in list_of_stocks) {
// if (list_of_stocks.hasOwnProperty(key)) {
// console.log(key + " -> " + list_of_stocks[key]);
// }
// }
// // General information
// this._id;
// _mode = EGamemode:: Osu;
// // Calculated difficulty
// using difficulty_t = std:: unordered_map <
// std:: underlying_type_t < EMods >,
// std:: array < f32, NumTypes >>;
// difficulty_t _difficulty;
// // Additional info required for processor
// ERankedStatus _rankedStatus;
// EScoreVersion _scoreVersion;
// this._numHitCircles = 0;
// this._numSliders = 0;
// this._numSpinners = 0;
}
// Getter
get Id() {
return this._id;
}
get RankedStatus() {
return _rankedStatus;
}
get ScoreVersion() {
return _scoreVersion;
}
get NumHitCircles() {
return _numHitCircles;
}
get NumSliders() {
return _numSliders;
}
get NumSpinners() {
return _numSpinners;
}
get DifficultyAttribute(mods, type) { };
// Method
setRankedStatus(rankedStatus) {
_rankedStatus = rankedStatus;
}
setScoreVersion(scoreVersion) {
_scoreVersion = scoreVersion;
}
setNumHitCircles(numHitCircles) {
_numHitCircles = numHitCircles;
}
setNumSliders(numSliders) {
_numSliders = numSliders;
}
setNumSpinners(numSpinners) {
_numSpinners = numSpinners;
}
setDifficultyAttribute(mods, type, value) { };
setMode(mode) {
_mode = mode;
}
ContainsAttribute(difficultyAttributeName) {
return s_difficultyAttributes.find(difficultyAttributeName) != s_difficultyAttributes.end();
}
DifficultyAttributeFromName(difficultyAttributeName) {
return s_difficultyAttributes.at(difficultyAttributeName);
}
}