Adds level prefabs, theme assets, audio, extensions, and deployment scripts for the Unity WebGL migration. Co-authored-by: Cursor <cursoragent@cursor.com>
72 lines
2.0 KiB
Bash
72 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
||
# 将关卡预制体从 resources 拆到独立 Asset Bundle(level-prefabs),减小 resources 包体积。
|
||
#
|
||
# 用法:
|
||
# bash tools/migrate-level-prefab-bundle.sh # 执行迁移
|
||
# bash tools/migrate-level-prefab-bundle.sh --dry-run
|
||
#
|
||
# 迁移后请在 Cocos Creator 中重新构建 Web,再运行 package-for-project.sh
|
||
set -euo pipefail
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
SRC="$PROJECT_DIR/assets/resources/level-prefabs"
|
||
DST="$PROJECT_DIR/assets/bundle-level-prefabs/level-prefabs"
|
||
DRY_RUN=0
|
||
|
||
while [[ $# -gt 0 ]]; do
|
||
case "$1" in
|
||
--dry-run) DRY_RUN=1; shift ;;
|
||
-h|--help)
|
||
echo "将 assets/resources/level-prefabs 移至 assets/bundle-level-prefabs/level-prefabs"
|
||
exit 0
|
||
;;
|
||
*) echo "未知参数: $1" >&2; exit 1 ;;
|
||
esac
|
||
done
|
||
|
||
if [[ ! -d "$SRC" ]]; then
|
||
echo "源目录不存在(可能已迁移): $SRC" >&2
|
||
exit 0
|
||
fi
|
||
|
||
PREFAB_COUNT="$(find "$SRC" -maxdepth 1 -name 'Level*.prefab' 2>/dev/null | wc -l | tr -d ' ')"
|
||
echo "==> 待迁移预制体: ${PREFAB_COUNT} 个"
|
||
echo " $SRC"
|
||
echo " -> $DST"
|
||
|
||
if [[ "$DRY_RUN" -eq 1 ]]; then
|
||
echo "(dry-run,未修改文件)"
|
||
exit 0
|
||
fi
|
||
|
||
mkdir -p "$PROJECT_DIR/assets/bundle-level-prefabs"
|
||
mkdir -p "$(dirname "$DST")"
|
||
|
||
if [[ -d "$DST" ]]; then
|
||
echo "错误: 目标已存在: $DST" >&2
|
||
echo "若需重新迁移,请先手动删除 bundle-level-prefabs/level-prefabs" >&2
|
||
exit 1
|
||
fi
|
||
|
||
mv "$SRC" "$DST"
|
||
rm -f "$PROJECT_DIR/assets/resources/level-prefabs.meta"
|
||
|
||
# 子目录 meta(Creator 会在下次打开时补全 uuid,此处提供基础结构)
|
||
cat > "$DST.meta" <<'META'
|
||
{
|
||
"ver": "1.2.0",
|
||
"importer": "directory",
|
||
"imported": true,
|
||
"uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
|
||
"files": [],
|
||
"subMetas": {},
|
||
"userData": {}
|
||
}
|
||
META
|
||
|
||
echo "==> 迁移完成。下一步:"
|
||
echo " 1. 打开 Cocos Creator,确认 bundle-level-prefabs 显示为 Asset Bundle「level-prefabs」"
|
||
echo " 2. 构建 Web Desktop"
|
||
echo " 3. bash tools/package-for-project.sh"
|