refactor:重构项目架构为分层结构
## 🏗️ 主要变更 ### 目录结构重构 - 将 core/ 迁移到 _Core/(框架层) - 将 scenes/ 重构为 Scenes/(玩法层)和 UI/(界面层) - 将 data/ 迁移到 Config/(配置层) - 添加 Assets/ 资源层和 Utils/ 工具层 - 将 scripts/ 迁移到 tools/(开发工具) ### 架构分层 - **_Core/**: 框架层 - 全局单例和管理器 - **Scenes/**: 玩法层 - 游戏场景和实体 - **UI/**: 界面层 - HUD、窗口、对话系统 - **Assets/**: 资源层 - 精灵图、音频、字体 - **Config/**: 配置层 - 游戏配置和本地化 - **Utils/**: 工具层 - 通用辅助脚本 ### 文件更新 - 更新 project.godot 中的所有路径引用 - 更新自动加载脚本路径 - 更新测试文件的引用路径 - 添加 REFACTORING.md 详细说明 - 添加 MIGRATION_COMPLETE.md 迁移完成标记 - 更新 README.md 反映新架构 ### 设计原则 - ✅ 清晰的分层(框架/玩法/界面) - ✅ 场景内聚(脚本紧邻场景文件) - ✅ 组件化设计(可复用组件) - ✅ 职责单一(每个目录职责明确) ## 📋 详细信息 查看 REFACTORING.md 了解完整的重构说明和迁移映射表 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
173
tools/serve_web.bat
Normal file
173
tools/serve_web.bat
Normal file
@@ -0,0 +1,173 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
echo ========================================
|
||||
echo 鲸鱼镇 本地Web服务器 v1.0
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM 配置变量
|
||||
set "BUILD_DIR=build\web"
|
||||
set "PORT=8000"
|
||||
set "FALLBACK_PORT=8080"
|
||||
|
||||
REM 颜色代码
|
||||
set "RED=[91m"
|
||||
set "GREEN=[92m"
|
||||
set "YELLOW=[93m"
|
||||
set "BLUE=[94m"
|
||||
set "RESET=[0m"
|
||||
|
||||
REM 检查导出文件
|
||||
echo %BLUE%[检查]%RESET% 验证Web导出文件...
|
||||
if not exist "%BUILD_DIR%\index.html" (
|
||||
echo %RED%[错误]%RESET% 未找到Web导出文件!
|
||||
echo.
|
||||
echo 请先运行以下命令导出项目:
|
||||
echo scripts\build_web.bat
|
||||
echo.
|
||||
echo 或在Godot编辑器中导出Web版本到: %BUILD_DIR%\
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM 检查必要文件
|
||||
echo %BLUE%[验证]%RESET% 检查必要文件...
|
||||
set "REQUIRED_FILES=index.html index.js index.wasm index.pck"
|
||||
set "MISSING_FILES="
|
||||
|
||||
for %%f in (%REQUIRED_FILES%) do (
|
||||
if not exist "%BUILD_DIR%\%%f" (
|
||||
set "MISSING_FILES=!MISSING_FILES! %%f"
|
||||
)
|
||||
)
|
||||
|
||||
if not "!MISSING_FILES!"=="" (
|
||||
echo %RED%[错误]%RESET% 缺少必要文件:!MISSING_FILES!
|
||||
echo 请重新导出项目
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM 检查Python
|
||||
echo %BLUE%[检查]%RESET% 验证Python环境...
|
||||
python --version >nul 2>&1
|
||||
if %ERRORLEVEL% neq 0 (
|
||||
echo %RED%[错误]%RESET% 未找到Python!
|
||||
echo.
|
||||
echo 请安装Python 3.x:
|
||||
echo 下载地址: https://python.org/downloads
|
||||
echo 或使用包管理器: winget install Python.Python.3
|
||||
echo.
|
||||
echo 安装后请重启命令提示符
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM 获取Python版本
|
||||
for /f "tokens=2" %%i in ('python --version 2^>^&1') do set "PYTHON_VERSION=%%i"
|
||||
echo %GREEN%[信息]%RESET% Python版本: %PYTHON_VERSION%
|
||||
|
||||
REM 显示文件信息
|
||||
echo.
|
||||
echo %GREEN%[信息]%RESET% Web文件统计:
|
||||
set "TOTAL_SIZE=0"
|
||||
for %%f in ("%BUILD_DIR%\*") do (
|
||||
set "size=%%~zf"
|
||||
set /a "TOTAL_SIZE+=size"
|
||||
set /a "size_mb=size/1024/1024"
|
||||
if !size_mb! gtr 0 (
|
||||
echo %%~nxf: !size_mb! MB
|
||||
) else (
|
||||
set /a "size_kb=size/1024"
|
||||
echo %%~nxf: !size_kb! KB
|
||||
)
|
||||
)
|
||||
set /a "TOTAL_MB=TOTAL_SIZE/1024/1024"
|
||||
echo 总大小: %TOTAL_MB% MB
|
||||
|
||||
REM 检查端口占用
|
||||
echo.
|
||||
echo %BLUE%[网络]%RESET% 检查端口占用...
|
||||
netstat -an | find ":%PORT%" >nul 2>&1
|
||||
if %ERRORLEVEL% equ 0 (
|
||||
echo %YELLOW%[警告]%RESET% 端口 %PORT% 已被占用,尝试使用 %FALLBACK_PORT%
|
||||
set "PORT=%FALLBACK_PORT%"
|
||||
|
||||
netstat -an | find ":%PORT%" >nul 2>&1
|
||||
if %ERRORLEVEL% equ 0 (
|
||||
echo %RED%[错误]%RESET% 端口 %PORT% 也被占用!
|
||||
echo 请手动指定端口: python -m http.server [端口号]
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
REM 获取本机IP地址
|
||||
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| find "IPv4"') do (
|
||||
set "LOCAL_IP=%%i"
|
||||
set "LOCAL_IP=!LOCAL_IP: =!"
|
||||
goto :ip_found
|
||||
)
|
||||
:ip_found
|
||||
|
||||
REM 显示启动信息
|
||||
echo.
|
||||
echo %GREEN%[启动]%RESET% 启动HTTP服务器...
|
||||
echo 端口: %PORT%
|
||||
echo 目录: %BUILD_DIR%
|
||||
echo Python: %PYTHON_VERSION%
|
||||
echo.
|
||||
echo ========================================
|
||||
echo %GREEN% 访问地址%RESET%
|
||||
echo ========================================
|
||||
echo 本地访问: http://localhost:%PORT%
|
||||
echo 局域网访问: http://!LOCAL_IP!:%PORT%
|
||||
echo.
|
||||
echo %YELLOW%[控制]%RESET% 服务器控制:
|
||||
echo 停止服务器: Ctrl+C
|
||||
echo 重启服务器: 关闭后重新运行脚本
|
||||
echo.
|
||||
echo %BLUE%[调试]%RESET% 调试工具:
|
||||
echo 开发者工具: F12
|
||||
echo 控制台日志: 查看浏览器Console
|
||||
echo 网络请求: 查看Network标签
|
||||
echo.
|
||||
echo ========================================
|
||||
|
||||
REM 尝试自动打开浏览器
|
||||
echo %BLUE%[浏览器]%RESET% 尝试打开默认浏览器...
|
||||
start http://localhost:%PORT% >nul 2>&1
|
||||
if %ERRORLEVEL% neq 0 (
|
||||
echo %YELLOW%[提示]%RESET% 无法自动打开浏览器,请手动访问上述地址
|
||||
)
|
||||
|
||||
echo.
|
||||
echo %GREEN%[就绪]%RESET% 服务器启动中...
|
||||
echo.
|
||||
|
||||
REM 切换到构建目录并启动服务器
|
||||
cd "%BUILD_DIR%"
|
||||
|
||||
REM 创建简单的服务器日志
|
||||
echo [%date% %time%] 服务器启动 - 端口:%PORT% >> server.log
|
||||
|
||||
REM 启动Python HTTP服务器
|
||||
python -m http.server %PORT%
|
||||
|
||||
REM 服务器停止后的清理
|
||||
echo.
|
||||
echo %YELLOW%[停止]%RESET% 服务器已停止
|
||||
echo [%date% %time%] 服务器停止 >> server.log
|
||||
|
||||
REM 返回原目录
|
||||
cd ..\..
|
||||
|
||||
echo.
|
||||
echo %GREEN%[完成]%RESET% 感谢使用鲸鱼镇Web服务器!
|
||||
echo.
|
||||
pause
|
||||
Reference in New Issue
Block a user