sa2kit 1.6.30 → 1.6.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AliyunOSSProvider-4W47OFEK.mjs +6 -0
- package/dist/{AliyunOSSProvider-KJYRIZES.mjs.map → AliyunOSSProvider-4W47OFEK.mjs.map} +1 -1
- package/dist/AliyunOSSProvider-HCNGDJL7.js +15 -0
- package/dist/{AliyunOSSProvider-FWAKUB2T.js.map → AliyunOSSProvider-HCNGDJL7.js.map} +1 -1
- package/dist/ConfigService-3DIC6C3Q.js +21 -0
- package/dist/{ConfigService-7MEZXKJ5.js.map → ConfigService-3DIC6C3Q.js.map} +1 -1
- package/dist/ConfigService-V6ZK273Z.mjs +4 -0
- package/dist/{ConfigService-BV57YYFW.mjs.map → ConfigService-V6ZK273Z.mjs.map} +1 -1
- package/dist/LocalStorageProvider-3RVPCQB3.mjs +6 -0
- package/dist/{LocalStorageProvider-RTPMUOZ2.mjs.map → LocalStorageProvider-3RVPCQB3.mjs.map} +1 -1
- package/dist/LocalStorageProvider-PP7MA5OT.js +15 -0
- package/dist/{LocalStorageProvider-XSRCUXOU.js.map → LocalStorageProvider-PP7MA5OT.js.map} +1 -1
- package/dist/PMXParser-2VTA737I.js +13 -0
- package/dist/{PMXParser-YBS3B6HM.js.map → PMXParser-2VTA737I.js.map} +1 -1
- package/dist/PMXParser-RNVQL76A.mjs +4 -0
- package/dist/{PMXParser-L6IWHL4I.mjs.map → PMXParser-RNVQL76A.mjs.map} +1 -1
- package/dist/analytics/index.js +46 -45
- package/dist/analytics/index.js.map +1 -1
- package/dist/analytics/index.mjs +45 -44
- package/dist/analytics/index.mjs.map +1 -1
- package/dist/analytics/server/index.js +4 -4
- package/dist/analytics/server/index.js.map +1 -1
- package/dist/analytics/server/index.mjs +4 -4
- package/dist/analytics/server/index.mjs.map +1 -1
- package/dist/api/index.js +5 -5
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +5 -5
- package/dist/api/index.mjs.map +1 -1
- package/dist/audioDetection/index.js +17 -16
- package/dist/audioDetection/index.js.map +1 -1
- package/dist/audioDetection/index.mjs +17 -16
- package/dist/audioDetection/index.mjs.map +1 -1
- package/dist/auth/client/index.js +4 -4
- package/dist/auth/client/index.mjs +1 -1
- package/dist/auth/components/index.js +3 -3
- package/dist/auth/components/index.js.map +1 -1
- package/dist/auth/components/index.mjs +3 -3
- package/dist/auth/components/index.mjs.map +1 -1
- package/dist/auth/index.js +29 -29
- package/dist/auth/index.mjs +5 -5
- package/dist/auth/middleware/index.js +3 -3
- package/dist/auth/middleware/index.mjs +2 -2
- package/dist/auth/routes/index.js +14 -14
- package/dist/auth/routes/index.mjs +2 -2
- package/dist/auth/services/index.js +7 -7
- package/dist/auth/services/index.mjs +1 -1
- package/dist/calendar/index.js +146 -182
- package/dist/calendar/index.js.map +1 -1
- package/dist/calendar/index.mjs +139 -175
- package/dist/calendar/index.mjs.map +1 -1
- package/dist/calendar/routes/index.js +1 -1
- package/dist/calendar/routes/index.js.map +1 -1
- package/dist/calendar/routes/index.mjs +1 -1
- package/dist/calendar/routes/index.mjs.map +1 -1
- package/dist/{chunk-5YQ5B7IZ.js → chunk-24HGREE6.js} +5 -5
- package/dist/{chunk-5YQ5B7IZ.js.map → chunk-24HGREE6.js.map} +1 -1
- package/dist/{chunk-6PRFP5EG.js → chunk-25OFOKNF.js} +6 -6
- package/dist/chunk-25OFOKNF.js.map +1 -0
- package/dist/{chunk-KQGP6BTS.mjs → chunk-3DXPQ4YV.mjs} +6 -6
- package/dist/chunk-3DXPQ4YV.mjs.map +1 -0
- package/dist/{chunk-3BGPZN4X.mjs → chunk-3NHAT7D4.mjs} +12 -12
- package/dist/chunk-3NHAT7D4.mjs.map +1 -0
- package/dist/{chunk-MW4BCIZC.mjs → chunk-4HC6M7FK.mjs} +3 -3
- package/dist/chunk-4HC6M7FK.mjs.map +1 -0
- package/dist/{chunk-ESRCX5TQ.mjs → chunk-52TN2QSS.mjs} +3 -3
- package/dist/{chunk-ESRCX5TQ.mjs.map → chunk-52TN2QSS.mjs.map} +1 -1
- package/dist/{chunk-CNTILN5J.mjs → chunk-5YQ62BKX.mjs} +20 -19
- package/dist/chunk-5YQ62BKX.mjs.map +1 -0
- package/dist/{chunk-6W5BMXJG.js → chunk-6OWNMJKG.js} +4 -4
- package/dist/{chunk-6W5BMXJG.js.map → chunk-6OWNMJKG.js.map} +1 -1
- package/dist/{chunk-DUHZ7VZP.js → chunk-7VRT55ZD.js} +3 -3
- package/dist/chunk-7VRT55ZD.js.map +1 -0
- package/dist/{chunk-3WOAPLEG.mjs → chunk-EB4NR623.mjs} +27 -26
- package/dist/chunk-EB4NR623.mjs.map +1 -0
- package/dist/chunk-EI27JKND.mjs +1988 -0
- package/dist/chunk-EI27JKND.mjs.map +1 -0
- package/dist/{chunk-CD77U7LZ.js → chunk-GBPLX42J.js} +9 -9
- package/dist/chunk-GBPLX42J.js.map +1 -0
- package/dist/{chunk-TFQF2HDO.mjs → chunk-HDEOCX2L.mjs} +12 -12
- package/dist/chunk-HDEOCX2L.mjs.map +1 -0
- package/dist/{chunk-TV3VKRJK.mjs → chunk-HDMIOOZY.mjs} +38 -68
- package/dist/chunk-HDMIOOZY.mjs.map +1 -0
- package/dist/{chunk-OPPF3326.js → chunk-HJ6MH7J7.js} +39 -69
- package/dist/chunk-HJ6MH7J7.js.map +1 -0
- package/dist/chunk-KO73EBUT.js +80 -0
- package/dist/chunk-KO73EBUT.js.map +1 -0
- package/dist/{chunk-6YKMCPQI.mjs → chunk-KZKIH4AS.mjs} +4 -4
- package/dist/chunk-KZKIH4AS.mjs.map +1 -0
- package/dist/{chunk-LX4XX6W7.js → chunk-L47ZOYHL.js} +15 -89
- package/dist/chunk-L47ZOYHL.js.map +1 -0
- package/dist/{chunk-6MQUBPKB.mjs → chunk-LJ4CCSSY.mjs} +3 -3
- package/dist/{chunk-6MQUBPKB.mjs.map → chunk-LJ4CCSSY.mjs.map} +1 -1
- package/dist/{chunk-TOC5FSHP.js → chunk-NJ2SNXBJ.js} +12 -12
- package/dist/chunk-NJ2SNXBJ.js.map +1 -0
- package/dist/{chunk-OCR5DS4C.mjs → chunk-PE5EAHZK.mjs} +3 -3
- package/dist/chunk-PE5EAHZK.mjs.map +1 -0
- package/dist/{chunk-LZHMNOED.js → chunk-Q5EDCKQA.js} +26 -26
- package/dist/chunk-Q5EDCKQA.js.map +1 -0
- package/dist/{chunk-CLKKZSPZ.js → chunk-RBKGYWME.js} +20 -19
- package/dist/chunk-RBKGYWME.js.map +1 -0
- package/dist/{chunk-VRTRSEEH.mjs → chunk-RSJSZ7QH.mjs} +11 -11
- package/dist/chunk-RSJSZ7QH.mjs.map +1 -0
- package/dist/{chunk-E7RGBAYJ.js → chunk-TDCDEBGP.js} +30 -29
- package/dist/chunk-TDCDEBGP.js.map +1 -0
- package/dist/{chunk-JZXJQMVE.js → chunk-UIFFDRTE.js} +11 -11
- package/dist/chunk-UIFFDRTE.js.map +1 -0
- package/dist/{chunk-T5OZHYVM.mjs → chunk-UKT3PLON.mjs} +13 -85
- package/dist/chunk-UKT3PLON.mjs.map +1 -0
- package/dist/{chunk-UOFTHYIH.js → chunk-UL6XJGUZ.js} +4 -4
- package/dist/chunk-UL6XJGUZ.js.map +1 -0
- package/dist/chunk-VVWQTO4Y.mjs +77 -0
- package/dist/chunk-VVWQTO4Y.mjs.map +1 -0
- package/dist/{chunk-A3UP56MS.js → chunk-WA67GZSZ.js} +3 -3
- package/dist/chunk-WA67GZSZ.js.map +1 -0
- package/dist/{chunk-OLHGZXN3.mjs → chunk-WEEXCPSE.mjs} +5 -5
- package/dist/chunk-WEEXCPSE.mjs.map +1 -0
- package/dist/chunk-XGBE4SUV.js +2093 -0
- package/dist/chunk-XGBE4SUV.js.map +1 -0
- package/dist/{chunk-QU5OT4DF.js → chunk-XJ7ZAGC5.js} +5 -5
- package/dist/chunk-XJ7ZAGC5.js.map +1 -0
- package/dist/{chunk-ZI25QCHD.mjs → chunk-YOTQG4NP.mjs} +25 -25
- package/dist/chunk-YOTQG4NP.mjs.map +1 -0
- package/dist/{chunk-QAT2RWAO.mjs → chunk-Z36R3P62.mjs} +7 -7
- package/dist/chunk-Z36R3P62.mjs.map +1 -0
- package/dist/{chunk-7Z5LLJ3A.js → chunk-ZWQJSZEY.js} +13 -13
- package/dist/chunk-ZWQJSZEY.js.map +1 -0
- package/dist/config/index.js +6 -6
- package/dist/config/index.js.map +1 -1
- package/dist/config/index.mjs +6 -6
- package/dist/config/index.mjs.map +1 -1
- package/dist/config/server/index.js +37 -37
- package/dist/config/server/index.js.map +1 -1
- package/dist/config/server/index.mjs +37 -37
- package/dist/config/server/index.mjs.map +1 -1
- package/dist/i18n/index.d.mts +2 -2
- package/dist/i18n/index.d.ts +2 -2
- package/dist/i18n/index.js +16 -17
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/index.mjs +16 -17
- package/dist/i18n/index.mjs.map +1 -1
- package/dist/imageCrop/index.js +11 -10
- package/dist/imageCrop/index.js.map +1 -1
- package/dist/imageCrop/index.mjs +11 -10
- package/dist/imageCrop/index.mjs.map +1 -1
- package/dist/index.d.mts +185 -100
- package/dist/index.d.ts +185 -100
- package/dist/index.js +225 -249
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +80 -104
- package/dist/index.mjs.map +1 -1
- package/dist/logger/index.js +6 -6
- package/dist/logger/index.mjs +1 -1
- package/dist/mikuFusionGame/index.d.mts +112 -0
- package/dist/mikuFusionGame/index.d.ts +112 -0
- package/dist/mikuFusionGame/index.js +680 -0
- package/dist/mikuFusionGame/index.js.map +1 -0
- package/dist/mikuFusionGame/index.mjs +667 -0
- package/dist/mikuFusionGame/index.mjs.map +1 -0
- package/dist/mmd/admin/index.js +11 -10
- package/dist/mmd/admin/index.js.map +1 -1
- package/dist/mmd/admin/index.mjs +11 -10
- package/dist/mmd/admin/index.mjs.map +1 -1
- package/dist/mmd/index.js +223 -241
- package/dist/mmd/index.js.map +1 -1
- package/dist/mmd/index.mjs +220 -238
- package/dist/mmd/index.mjs.map +1 -1
- package/dist/mmd/server/index.js +6 -6
- package/dist/mmd/server/index.js.map +1 -1
- package/dist/mmd/server/index.mjs +6 -6
- package/dist/mmd/server/index.mjs.map +1 -1
- package/dist/music/index.js +16 -16
- package/dist/music/index.mjs +2 -2
- package/dist/music/server/index.js +8 -8
- package/dist/music/server/index.mjs +1 -1
- package/dist/request/index.js +2 -2
- package/dist/request/index.js.map +1 -1
- package/dist/request/index.mjs +2 -2
- package/dist/request/index.mjs.map +1 -1
- package/dist/storage/index.js +15 -14
- package/dist/storage/index.mjs +3 -2
- package/dist/testYourself/admin/index.js +3 -3
- package/dist/testYourself/admin/index.mjs +1 -1
- package/dist/testYourself/index.js +22 -22
- package/dist/testYourself/index.js.map +1 -1
- package/dist/testYourself/index.mjs +14 -14
- package/dist/testYourself/index.mjs.map +1 -1
- package/dist/testYourself/server/index.js +4 -4
- package/dist/testYourself/server/index.mjs +1 -1
- package/dist/universalExport/index.d.mts +3 -3
- package/dist/universalExport/index.d.ts +3 -3
- package/dist/universalExport/index.js +48 -47
- package/dist/universalExport/index.js.map +1 -1
- package/dist/universalExport/index.mjs +48 -47
- package/dist/universalExport/index.mjs.map +1 -1
- package/dist/universalExport/server/index.js +29 -29
- package/dist/universalExport/server/index.js.map +1 -1
- package/dist/universalExport/server/index.mjs +28 -28
- package/dist/universalExport/server/index.mjs.map +1 -1
- package/dist/universalFile/index.d.mts +3 -3
- package/dist/universalFile/index.d.ts +3 -3
- package/dist/universalFile/index.js +73 -72
- package/dist/universalFile/index.js.map +1 -1
- package/dist/universalFile/index.mjs +73 -72
- package/dist/universalFile/index.mjs.map +1 -1
- package/dist/universalFile/server/index.js +258 -260
- package/dist/universalFile/server/index.js.map +1 -1
- package/dist/universalFile/server/index.mjs +244 -246
- package/dist/universalFile/server/index.mjs.map +1 -1
- package/dist/utils/index.js +11 -11
- package/dist/utils/index.mjs +2 -2
- package/package.json +25 -31
- package/dist/AliyunOSSProvider-FWAKUB2T.js +0 -15
- package/dist/AliyunOSSProvider-KJYRIZES.mjs +0 -6
- package/dist/ConfigService-7MEZXKJ5.js +0 -21
- package/dist/ConfigService-BV57YYFW.mjs +0 -4
- package/dist/LocalStorageProvider-RTPMUOZ2.mjs +0 -6
- package/dist/LocalStorageProvider-XSRCUXOU.js +0 -15
- package/dist/PMXParser-L6IWHL4I.mjs +0 -4
- package/dist/PMXParser-YBS3B6HM.js +0 -13
- package/dist/chunk-3BGPZN4X.mjs.map +0 -1
- package/dist/chunk-3WOAPLEG.mjs.map +0 -1
- package/dist/chunk-6PRFP5EG.js.map +0 -1
- package/dist/chunk-6YKMCPQI.mjs.map +0 -1
- package/dist/chunk-7Z5LLJ3A.js.map +0 -1
- package/dist/chunk-A3UP56MS.js.map +0 -1
- package/dist/chunk-CD77U7LZ.js.map +0 -1
- package/dist/chunk-CLKKZSPZ.js.map +0 -1
- package/dist/chunk-CNTILN5J.mjs.map +0 -1
- package/dist/chunk-DUHZ7VZP.js.map +0 -1
- package/dist/chunk-DW2ZTOCV.js +0 -1727
- package/dist/chunk-DW2ZTOCV.js.map +0 -1
- package/dist/chunk-E7RGBAYJ.js.map +0 -1
- package/dist/chunk-JZXJQMVE.js.map +0 -1
- package/dist/chunk-KQGP6BTS.mjs.map +0 -1
- package/dist/chunk-LFG6FPM5.mjs +0 -1597
- package/dist/chunk-LFG6FPM5.mjs.map +0 -1
- package/dist/chunk-LX4XX6W7.js.map +0 -1
- package/dist/chunk-LZHMNOED.js.map +0 -1
- package/dist/chunk-MW4BCIZC.mjs.map +0 -1
- package/dist/chunk-OCR5DS4C.mjs.map +0 -1
- package/dist/chunk-OLHGZXN3.mjs.map +0 -1
- package/dist/chunk-OPPF3326.js.map +0 -1
- package/dist/chunk-QAT2RWAO.mjs.map +0 -1
- package/dist/chunk-QU5OT4DF.js.map +0 -1
- package/dist/chunk-T5OZHYVM.mjs.map +0 -1
- package/dist/chunk-TFQF2HDO.mjs.map +0 -1
- package/dist/chunk-TOC5FSHP.js.map +0 -1
- package/dist/chunk-TV3VKRJK.mjs.map +0 -1
- package/dist/chunk-UOFTHYIH.js.map +0 -1
- package/dist/chunk-VRTRSEEH.mjs.map +0 -1
- package/dist/chunk-ZI25QCHD.mjs.map +0 -1
package/dist/logger/index.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk25OFOKNF_js = require('../chunk-25OFOKNF.js');
|
|
4
4
|
require('../chunk-DGUM43GV.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "ConsoleLoggerAdapter", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunk25OFOKNF_js.ConsoleLoggerAdapter; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "LogLevel", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunk25OFOKNF_js.LogLevel; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "Logger", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunk25OFOKNF_js.Logger; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "createLogger", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunk25OFOKNF_js.createLogger; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "logger", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunk25OFOKNF_js.logger; }
|
|
27
27
|
});
|
|
28
28
|
//# sourceMappingURL=index.js.map
|
|
29
29
|
//# sourceMappingURL=index.js.map
|
package/dist/logger/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ConsoleLoggerAdapter, LogLevel, Logger, createLogger, logger } from '../chunk-
|
|
1
|
+
export { ConsoleLoggerAdapter, LogLevel, Logger, createLogger, logger } from '../chunk-3DXPQ4YV.mjs';
|
|
2
2
|
import '../chunk-BJTO5JO5.mjs';
|
|
3
3
|
//# sourceMappingURL=index.mjs.map
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import React__default, { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
type MikuFusionGameStatus = 'ready' | 'playing' | 'paused' | 'gameOver';
|
|
4
|
+
interface FusionOrb {
|
|
5
|
+
id: string;
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
vx: number;
|
|
9
|
+
vy: number;
|
|
10
|
+
radius: number;
|
|
11
|
+
level: number;
|
|
12
|
+
age: number;
|
|
13
|
+
}
|
|
14
|
+
interface MikuFusionTheme {
|
|
15
|
+
backgroundTop: string;
|
|
16
|
+
backgroundBottom: string;
|
|
17
|
+
aimLine: string;
|
|
18
|
+
lossLine: string;
|
|
19
|
+
orbColors: string[];
|
|
20
|
+
}
|
|
21
|
+
interface MikuFusionGameConfig {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
gravity: number;
|
|
25
|
+
damping: number;
|
|
26
|
+
collisionDamping: number;
|
|
27
|
+
spawnY: number;
|
|
28
|
+
lossLineY: number;
|
|
29
|
+
maxLevel: number;
|
|
30
|
+
maxOrbs: number;
|
|
31
|
+
maxMergesPerTick: number;
|
|
32
|
+
gameOverAgeThreshold: number;
|
|
33
|
+
spawnWeights: number[];
|
|
34
|
+
theme: MikuFusionTheme;
|
|
35
|
+
}
|
|
36
|
+
interface MikuFusionGameCallbacks {
|
|
37
|
+
onScoreChange?: (score: number) => void;
|
|
38
|
+
onGameOver?: (score: number, bestScore: number) => void;
|
|
39
|
+
}
|
|
40
|
+
interface MergeResult {
|
|
41
|
+
orbs: FusionOrb[];
|
|
42
|
+
scoreGain: number;
|
|
43
|
+
mergeCount: number;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface MikuFusionGameProps extends Partial<MikuFusionGameConfig>, MikuFusionGameCallbacks {
|
|
47
|
+
className?: string;
|
|
48
|
+
storageKey?: string;
|
|
49
|
+
}
|
|
50
|
+
declare function MikuFusionGame({ className, storageKey, ...options }: MikuFusionGameProps): React__default.JSX.Element;
|
|
51
|
+
|
|
52
|
+
interface UseMikuFusionGameOptions extends Partial<MikuFusionGameConfig>, MikuFusionGameCallbacks {
|
|
53
|
+
storageKey?: string;
|
|
54
|
+
}
|
|
55
|
+
interface UseMikuFusionGameResult {
|
|
56
|
+
canvasRef: RefObject<HTMLCanvasElement>;
|
|
57
|
+
status: MikuFusionGameStatus;
|
|
58
|
+
score: number;
|
|
59
|
+
bestScore: number;
|
|
60
|
+
nextLevel: number;
|
|
61
|
+
config: MikuFusionGameConfig;
|
|
62
|
+
setAimFromClientX: (clientX: number, rect: DOMRect) => void;
|
|
63
|
+
handleDrop: (clientX: number, rect: DOMRect) => void;
|
|
64
|
+
togglePause: () => void;
|
|
65
|
+
restart: () => void;
|
|
66
|
+
}
|
|
67
|
+
declare function useMikuFusionGame(options?: UseMikuFusionGameOptions): UseMikuFusionGameResult;
|
|
68
|
+
|
|
69
|
+
interface ResponsiveSize {
|
|
70
|
+
displayWidth: number;
|
|
71
|
+
displayHeight: number;
|
|
72
|
+
scale: number;
|
|
73
|
+
}
|
|
74
|
+
declare function useResponsiveCanvas(logicalWidth: number, logicalHeight: number, containerRef: RefObject<HTMLElement>): ResponsiveSize;
|
|
75
|
+
|
|
76
|
+
interface ProducerPack {
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
passiveDescription: string;
|
|
80
|
+
themeColor?: string;
|
|
81
|
+
}
|
|
82
|
+
interface SongPack {
|
|
83
|
+
id: string;
|
|
84
|
+
name: string;
|
|
85
|
+
bpm?: number;
|
|
86
|
+
difficultyHint?: string;
|
|
87
|
+
}
|
|
88
|
+
interface ThemePack {
|
|
89
|
+
id: string;
|
|
90
|
+
name: string;
|
|
91
|
+
orbColors: string[];
|
|
92
|
+
backgroundTop: string;
|
|
93
|
+
backgroundBottom: string;
|
|
94
|
+
}
|
|
95
|
+
interface MikuFusionContentRegistry {
|
|
96
|
+
producers: ProducerPack[];
|
|
97
|
+
songs: SongPack[];
|
|
98
|
+
themes: ThemePack[];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* 仅作为未来内容包化扩展占位。
|
|
103
|
+
* 当前基础玩法不会消费这些数据。
|
|
104
|
+
*/
|
|
105
|
+
declare const defaultContentRegistry: MikuFusionContentRegistry;
|
|
106
|
+
|
|
107
|
+
declare const BASE_RADIUS = 22;
|
|
108
|
+
declare const RADIUS_STEP = 4;
|
|
109
|
+
declare const LEVEL_LABEL_PREFIX = "M";
|
|
110
|
+
declare const DEFAULT_MIKU_FUSION_CONFIG: MikuFusionGameConfig;
|
|
111
|
+
|
|
112
|
+
export { BASE_RADIUS, DEFAULT_MIKU_FUSION_CONFIG, type FusionOrb, LEVEL_LABEL_PREFIX, type MergeResult, type MikuFusionContentRegistry, MikuFusionGame, type MikuFusionGameCallbacks, type MikuFusionGameConfig, type MikuFusionGameProps, type MikuFusionGameStatus, type MikuFusionTheme, type ProducerPack, RADIUS_STEP, type SongPack, type ThemePack, type UseMikuFusionGameOptions, type UseMikuFusionGameResult, defaultContentRegistry, useMikuFusionGame, useResponsiveCanvas };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import React__default, { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
type MikuFusionGameStatus = 'ready' | 'playing' | 'paused' | 'gameOver';
|
|
4
|
+
interface FusionOrb {
|
|
5
|
+
id: string;
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
vx: number;
|
|
9
|
+
vy: number;
|
|
10
|
+
radius: number;
|
|
11
|
+
level: number;
|
|
12
|
+
age: number;
|
|
13
|
+
}
|
|
14
|
+
interface MikuFusionTheme {
|
|
15
|
+
backgroundTop: string;
|
|
16
|
+
backgroundBottom: string;
|
|
17
|
+
aimLine: string;
|
|
18
|
+
lossLine: string;
|
|
19
|
+
orbColors: string[];
|
|
20
|
+
}
|
|
21
|
+
interface MikuFusionGameConfig {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
gravity: number;
|
|
25
|
+
damping: number;
|
|
26
|
+
collisionDamping: number;
|
|
27
|
+
spawnY: number;
|
|
28
|
+
lossLineY: number;
|
|
29
|
+
maxLevel: number;
|
|
30
|
+
maxOrbs: number;
|
|
31
|
+
maxMergesPerTick: number;
|
|
32
|
+
gameOverAgeThreshold: number;
|
|
33
|
+
spawnWeights: number[];
|
|
34
|
+
theme: MikuFusionTheme;
|
|
35
|
+
}
|
|
36
|
+
interface MikuFusionGameCallbacks {
|
|
37
|
+
onScoreChange?: (score: number) => void;
|
|
38
|
+
onGameOver?: (score: number, bestScore: number) => void;
|
|
39
|
+
}
|
|
40
|
+
interface MergeResult {
|
|
41
|
+
orbs: FusionOrb[];
|
|
42
|
+
scoreGain: number;
|
|
43
|
+
mergeCount: number;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface MikuFusionGameProps extends Partial<MikuFusionGameConfig>, MikuFusionGameCallbacks {
|
|
47
|
+
className?: string;
|
|
48
|
+
storageKey?: string;
|
|
49
|
+
}
|
|
50
|
+
declare function MikuFusionGame({ className, storageKey, ...options }: MikuFusionGameProps): React__default.JSX.Element;
|
|
51
|
+
|
|
52
|
+
interface UseMikuFusionGameOptions extends Partial<MikuFusionGameConfig>, MikuFusionGameCallbacks {
|
|
53
|
+
storageKey?: string;
|
|
54
|
+
}
|
|
55
|
+
interface UseMikuFusionGameResult {
|
|
56
|
+
canvasRef: RefObject<HTMLCanvasElement>;
|
|
57
|
+
status: MikuFusionGameStatus;
|
|
58
|
+
score: number;
|
|
59
|
+
bestScore: number;
|
|
60
|
+
nextLevel: number;
|
|
61
|
+
config: MikuFusionGameConfig;
|
|
62
|
+
setAimFromClientX: (clientX: number, rect: DOMRect) => void;
|
|
63
|
+
handleDrop: (clientX: number, rect: DOMRect) => void;
|
|
64
|
+
togglePause: () => void;
|
|
65
|
+
restart: () => void;
|
|
66
|
+
}
|
|
67
|
+
declare function useMikuFusionGame(options?: UseMikuFusionGameOptions): UseMikuFusionGameResult;
|
|
68
|
+
|
|
69
|
+
interface ResponsiveSize {
|
|
70
|
+
displayWidth: number;
|
|
71
|
+
displayHeight: number;
|
|
72
|
+
scale: number;
|
|
73
|
+
}
|
|
74
|
+
declare function useResponsiveCanvas(logicalWidth: number, logicalHeight: number, containerRef: RefObject<HTMLElement>): ResponsiveSize;
|
|
75
|
+
|
|
76
|
+
interface ProducerPack {
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
passiveDescription: string;
|
|
80
|
+
themeColor?: string;
|
|
81
|
+
}
|
|
82
|
+
interface SongPack {
|
|
83
|
+
id: string;
|
|
84
|
+
name: string;
|
|
85
|
+
bpm?: number;
|
|
86
|
+
difficultyHint?: string;
|
|
87
|
+
}
|
|
88
|
+
interface ThemePack {
|
|
89
|
+
id: string;
|
|
90
|
+
name: string;
|
|
91
|
+
orbColors: string[];
|
|
92
|
+
backgroundTop: string;
|
|
93
|
+
backgroundBottom: string;
|
|
94
|
+
}
|
|
95
|
+
interface MikuFusionContentRegistry {
|
|
96
|
+
producers: ProducerPack[];
|
|
97
|
+
songs: SongPack[];
|
|
98
|
+
themes: ThemePack[];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* 仅作为未来内容包化扩展占位。
|
|
103
|
+
* 当前基础玩法不会消费这些数据。
|
|
104
|
+
*/
|
|
105
|
+
declare const defaultContentRegistry: MikuFusionContentRegistry;
|
|
106
|
+
|
|
107
|
+
declare const BASE_RADIUS = 22;
|
|
108
|
+
declare const RADIUS_STEP = 4;
|
|
109
|
+
declare const LEVEL_LABEL_PREFIX = "M";
|
|
110
|
+
declare const DEFAULT_MIKU_FUSION_CONFIG: MikuFusionGameConfig;
|
|
111
|
+
|
|
112
|
+
export { BASE_RADIUS, DEFAULT_MIKU_FUSION_CONFIG, type FusionOrb, LEVEL_LABEL_PREFIX, type MergeResult, type MikuFusionContentRegistry, MikuFusionGame, type MikuFusionGameCallbacks, type MikuFusionGameConfig, type MikuFusionGameProps, type MikuFusionGameStatus, type MikuFusionTheme, type ProducerPack, RADIUS_STEP, type SongPack, type ThemePack, type UseMikuFusionGameOptions, type UseMikuFusionGameResult, defaultContentRegistry, useMikuFusionGame, useResponsiveCanvas };
|