同步主站 Cocos 当前工程:关卡资源、运行脚本与打包工具。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-12 14:40:34 +08:00
parent ae75fce80b
commit fac515a669
5609 changed files with 27744634 additions and 5653 deletions

View File

@@ -2,9 +2,9 @@
* 关卡注册表 — 统一从 LevelDatabase单一 JSON读取
*/
import { LevelConfig } from './LevelTypes';
import { LEVEL_ID_BASE } from './LevelIds';
import { LEVEL_ID_BASE, themeForLevelId } from './LevelIds';
export { LEVEL_ID_BASE, isGameLevelId } from './LevelIds';
export { LEVEL_ID_BASE, isGameLevelId, themeForLevelId } from './LevelIds';
import {
getLevelConfig as dbGet,
hasLevel as dbHas,
@@ -34,16 +34,21 @@ export function getMaxLevelId(): number {
/**
* 主站 SendMessage(levelID) → 查 Cocos 关卡库;无条目时按 Level{id}.prefab 加载。
*/
function applySeriesTheme(cfg: LevelConfig): LevelConfig {
const theme = themeForLevelId(cfg.levelID);
return theme ? { ...cfg, theme } : cfg;
}
export function resolveLevelConfig(levelID: number): LevelConfig | null {
const cfg = dbGet(levelID);
if (cfg) return cfg;
if (cfg) return applySeriesTheme(cfg);
if (levelID <= 0) return null;
return {
levelID,
boundary: { x: 20, y: 20 },
spawns: [],
cocosPrefab: `level-prefabs/Level${levelID}`,
theme: 'sanxing',
theme: themeForLevelId(levelID) ?? 'sanxing',
};
}
@@ -58,7 +63,8 @@ export function refreshLevelIdBounds() {
}
export function getLevelConfig(levelID: number): LevelConfig | null {
return dbGet(levelID);
const cfg = dbGet(levelID);
return cfg ? applySeriesTheme(cfg) : null;
}
export function hasLevel(levelID: number): boolean {