@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion

:: 机械臂客户端启动脚本 (Windows版本)
:: 包含虚拟环境激活和客户端启动

:: 设置脚本目录
cd /d "%~dp0"

:: 颜色定义 (Windows CMD不支持颜色，使用echo代替)
echo ================================================
echo     🦾 机械臂客户端启动器 (Windows)
echo ================================================
echo.

:: 检查虚拟环境是否存在
if not exist "venv" (
    echo [ERROR] 虚拟环境不存在，请先运行 start_service.bat 创建虚拟环境
    pause
    exit /b 1
)

:: 激活虚拟环境
echo [INFO] 正在激活虚拟环境...
call venv\Scripts\activate.bat
if %errorlevel% neq 0 (
    echo [ERROR] 虚拟环境激活失败
    pause
    exit /b 1
)
echo [SUCCESS] 虚拟环境已激活

:: 检查必要文件是否存在
echo [INFO] 检查必要文件...
if not exist "src\robot_client.py" (
    echo [ERROR] 缺少必要文件: src\robot_client.py
    pause
    exit /b 1
)
echo [SUCCESS] 所有必要文件存在

:: 解析命令行参数
set SERVER=http://localhost:5000
set MOCK=--mock

:parse_args
if "%~1"=="" goto :end_parse
if "%~1"=="--server" (
    set SERVER=%~2
    shift
    shift
    goto :parse_args
)
if "%~1"=="--real" (
    set MOCK=
    shift
    goto :parse_args
)
if "%~1"=="--mock" (
    set MOCK=--mock
    shift
    goto :parse_args
)
if "%~1"=="-h" goto :show_help
if "%~1"=="--help" goto :show_help
if "%~1"=="/?" goto :show_help

echo [ERROR] 未知参数: %~1
echo 使用 %~nx0 --help 查看帮助
pause
exit /b 1

:show_help
echo 用法: %~nx0 [选项]
echo.
echo 选项:
echo   --server SERVER      服务器地址 (默认: http://localhost:5000)
echo   --mock               使用模拟控制器 (默认)
echo   --real               使用真实机械臂控制器
echo   -h, --help, /?       显示帮助信息
echo.
echo 示例:
echo   %~nx0                                    # 基本启动(模拟模式)
echo   %~nx0 --server http://192.168.1.100:5000 # 连接远程服务器
echo   %~nx0 --real                             # 真实机械臂模式
pause
exit /b 0

:end_parse

:: 显示启动信息
echo.
echo [INFO] 启动配置:
echo   - 服务器地址: %SERVER%
if not "%MOCK%"=="" (
    echo   - 控制模式: 模拟模式
    echo [WARNING] 当前使用模拟控制器，不会控制真实机械臂
) else (
    echo   - 控制模式: 真实机械臂
    echo [WARNING] 当前使用真实机械臂控制器
)
echo.

echo [INFO] 按 Ctrl+C 停止客户端
echo ================================================
echo.

:: 切换到src目录
cd src

:: 启动客户端
echo [INFO] 正在启动机械臂客户端...
python robot_client.py --server %SERVER% %MOCK%

pause