Initial Release for Gitadora Extension

* Converted from Asphyxia-Public-Route
* Enable `resolveJsonModule` in `tsconfig.json`
* WebUI for change name and title.
This commit is contained in:
DitFranXX
2020-12-11 16:48:02 +09:00
parent cd8995d2e6
commit e27221d19d
20 changed files with 1626 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
export interface Extra {
collection: 'extra';
game: 'gf' | 'dm';
version: string;
pluginVer: number
id: number;
playstyle: number[];
custom: number[];
list_1: number[];
list_2: number[];
list_3: number[];
}
+19
View File
@@ -0,0 +1,19 @@
export interface PlayerInfo {
collection: 'playerinfo',
pluginVer: Number;
id: number;
version: string,
name: string;
title: string;
card?: {
id: number;
position: number[];
scale: number[];
rotation: number;
}[];
// TODO: Add Board things.
}
+57
View File
@@ -0,0 +1,57 @@
export interface Profile {
collection: 'profile';
game: 'gf' | 'dm';
version: string;
pluginVer: number
id: number;
play: number;
playtime: number;
playterm: number;
session_cnt: number;
extra_stage: number;
extra_play: number;
extra_clear: number;
encore_play: number;
encore_clear: number;
pencore_play: number;
pencore_clear: number;
max_clear_diff: number;
max_full_diff: number;
max_exce_diff: number;
clear_num: number;
full_num: number;
exce_num: number;
no_num: number;
e_num: number;
d_num: number;
c_num: number;
b_num: number;
a_num: number;
s_num: number;
ss_num: number;
last_category: number;
last_musicid: number;
last_seq: number;
disp_level: number;
progress: number;
disp_state: number;
skill: number;
all_skill: number;
extra_gauge: number;
encore_gauge: number;
encore_cnt: number;
encore_success: number;
unlock_point: number;
max_skill: number;
max_all_skill: number;
clear_diff: number;
full_diff: number;
exce_diff: number;
clear_music_num: number;
full_music_num: number;
exce_music_num: number;
clear_seq_num: number;
classic_all_skill: number;
}
+44
View File
@@ -0,0 +1,44 @@
export interface Record {
collection: 'record';
game: 'gf' | 'dm';
version: string;
pluginVer: number
diff_100_nr: number;
diff_150_nr: number;
diff_200_nr: number;
diff_250_nr: number;
diff_300_nr: number;
diff_350_nr: number;
diff_400_nr: number;
diff_450_nr: number;
diff_500_nr: number;
diff_550_nr: number;
diff_600_nr: number;
diff_650_nr: number;
diff_700_nr: number;
diff_750_nr: number;
diff_800_nr: number;
diff_850_nr: number;
diff_900_nr: number;
diff_950_nr: number;
diff_100_clear: number[];
diff_150_clear: number[];
diff_200_clear: number[];
diff_250_clear: number[];
diff_300_clear: number[];
diff_350_clear: number[];
diff_400_clear: number[];
diff_450_clear: number[];
diff_500_clear: number[];
diff_550_clear: number[];
diff_600_clear: number[];
diff_650_clear: number[];
diff_700_clear: number[];
diff_750_clear: number[];
diff_800_clear: number[];
diff_850_clear: number[];
diff_900_clear: number[];
diff_950_clear: number[];
}
+23
View File
@@ -0,0 +1,23 @@
export interface Scores {
collection: 'scores';
game: 'gf' | 'dm';
version: string;
pluginVer: number
mid: number,
update: number[];
diffs: {
[seq: string]: {
perc: number;
rank: number;
clear: boolean;
fc: boolean;
ex: boolean;
meter: string;
prog: number;
};
};
}
+28
View File
@@ -0,0 +1,28 @@
import { PlayerInfo } from "../models/playerinfo"
export const updatePlayerInfo = async (data: {
refid: string;
version: string;
name?: string;
title?: string;
}) => {
if (data.refid == null) return;
const update: Update<PlayerInfo>['$set'] = {};
if (data.name && data.name.length > 0) {
//TODO: name validator
update.name = data.name;
}
if (data.title && data.title.length > 0) {
//TODO: title validator
update.title = data.title;
}
await DB.Update<PlayerInfo>(
data.refid,
{ collection: 'playerinfo', version: data.version },
{ $set: update }
);
};