Adds level prefabs, theme assets, audio, extensions, and deployment scripts for the Unity WebGL migration. Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
2.0 KiB
Bash
Executable File
54 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 【可选 · 仅参考】从 Unity 主站导入 spawns / boundary 到 Cocos levels-database.json
|
||
#
|
||
# 正常运行包不依赖 Unity。仅在需要对照 Unity Levels*.cs 批量补齐 spawn 时使用。
|
||
# 地图与贴图仍以 Cocos 预制体为准;本脚本默认不解析 Unity prefab 瓦片。
|
||
#
|
||
# bash tools/sync-reference-from-unity.sh
|
||
# bash tools/sync-reference-from-unity.sh "/path/to/主站"
|
||
set -euo pipefail
|
||
|
||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||
UNITY_ROOT="${1:-$HOME/tfrh/主站文件/主站}"
|
||
TMP="$ROOT/assets/resources/level/.unity-reference-import.json"
|
||
OUT="$ROOT/assets/level-data/levels-database.json"
|
||
|
||
[[ -d "$UNITY_ROOT/Assets/Scripts/Core" ]] || {
|
||
echo "错误: Unity 参考目录无效: $UNITY_ROOT" >&2
|
||
exit 1
|
||
}
|
||
|
||
echo "==> [参考] 从 Unity 导入 spawns(不覆盖 Cocos 预制体地图)"
|
||
python3 "$ROOT/tools/export_all_levels.py" \
|
||
--unity-root "$UNITY_ROOT" \
|
||
--output "$TMP" \
|
||
--skip-prefab-maps
|
||
|
||
python3 << PY
|
||
import json
|
||
from pathlib import Path
|
||
|
||
out = Path("$OUT")
|
||
ref = Path("$TMP")
|
||
db = json.loads(out.read_text(encoding="utf-8")) if out.is_file() else {"levels": {}}
|
||
unity = json.loads(ref.read_text(encoding="utf-8"))
|
||
merged = 0
|
||
for key, u in (unity.get("levels") or {}).items():
|
||
cur = db.setdefault("levels", {}).setdefault(key, {})
|
||
if u.get("spawns"):
|
||
cur["spawns"] = u["spawns"]
|
||
merged += 1
|
||
if u.get("boundary"):
|
||
cur["boundary"] = u["boundary"]
|
||
if u.get("unityPrefab"):
|
||
cur["unityPrefab"] = u["unityPrefab"]
|
||
cur.setdefault("levelID", u.get("levelID", int(key)))
|
||
cur.setdefault("cocosPrefab", u.get("cocosPrefab", f"level-prefabs/Level{key}"))
|
||
db["source"] = (db.get("source") or "") + " + unity-reference-spawns"
|
||
out.write_text(json.dumps(db, ensure_ascii=False, indent=2), encoding="utf-8")
|
||
print(f"merged spawns for {merged} levels into {out}")
|
||
PY
|
||
|
||
rm -f "$TMP"
|
||
echo "==> 建议再运行: bash tools/sync-level-db.sh (用 Cocos 预制体刷新地图/主题)"
|