# 脚本管理界面使用指南

## 概述

脚本管理界面已集成到主程序中，提供了完整的脚本创建、管理、挂载和使用功能。编辑功能可以通过外部编辑器进行。

## 功能特性

### 1. 脚本系统管理
- ✅ 脚本创建和模板选择
- ✅ 脚本加载和重载
- ✅ 热重载功能（自动检测文件变化）
- ✅ 脚本挂载到游戏对象
- ✅ 脚本启用/禁用控制

### 2. 界面组件
- ✅ 脚本菜单（菜单栏）
- ✅ 脚本管理面板（右侧停靠窗口）
- ✅ 属性面板脚本信息显示
- ✅ 实时状态更新

## 使用方法

### 访问脚本功能

#### 方法1：通过菜单栏
1. 点击菜单栏 → **脚本**
2. 选择相应的功能：
   - **创建脚本...** - 快速创建新脚本
   - **加载脚本文件...** - 从文件加载脚本
   - **重载所有脚本** - 重新加载所有脚本
   - **启用热重载** - 切换热重载功能
   - **脚本管理器** - 打开脚本管理面板

#### 方法2：通过脚本管理面板
1. 查看右侧停靠窗口
2. 点击 **脚本管理** 标签页
3. 使用面板中的各种控件

### 脚本管理面板详解

#### 脚本系统状态组
- **脚本系统状态**：显示系统是否正在运行
- **热重载状态**：显示热重载是否启用

#### 创建脚本组
1. **脚本名称**：输入新脚本的名称
2. **模板选择**：选择脚本模板
   - `basic`：基础脚本模板
   - `movement`：移动相关脚本模板
   - `animation`：动画相关脚本模板
3. **创建脚本**：点击按钮创建脚本文件

#### 可用脚本组
- **脚本列表**：显示所有可用的脚本
- **双击脚本名称**：显示提示（将来可打开外部编辑器）
- **加载脚本**：重新加载选中的脚本
- **重载全部**：重新加载所有脚本

#### 脚本挂载组
- **选中对象显示**：显示当前选中的游戏对象
- **脚本选择**：从下拉列表选择要挂载的脚本
- **挂载按钮**：将脚本挂载到选中对象
- **已挂载脚本列表**：显示对象上的所有脚本及其状态
  - ✓ 表示脚本已启用
  - ✗ 表示脚本已禁用
- **卸载选中脚本**：从对象移除选中的脚本

### 属性面板脚本信息

当选择一个游戏对象时，属性面板会显示：

#### 脚本信息区域
- **已挂载脚本**：列出对象上的所有脚本
- **脚本名称**：显示每个脚本的名称和状态
- **启用/禁用按钮**：控制每个脚本的运行状态
  - 绿色按钮：脚本已启用，点击禁用
  - 红色按钮：脚本已禁用，点击启用

## 使用流程示例

### 创建和使用脚本的完整流程

1. **创建脚本**
   ```
   菜单栏 → 脚本 → 创建脚本...
   输入名称：MyRotator
   点击确定
   ```

2. **编辑脚本**（外部编辑器）
   ```
   打开 scripts/MyRotator.py
   编辑脚本内容
   保存文件（热重载会自动检测）
   ```

3. **挂载脚本到对象**
   ```
   a. 在场景中选择一个对象
   b. 右侧脚本管理面板 → 脚本挂载组
   c. 选择 MyRotator 脚本
   d. 点击"挂载"
   ```

4. **管理脚本状态**
   ```
   在属性面板中：
   - 查看脚本信息
   - 启用/禁用脚本
   - 监控脚本运行状态
   ```

### 热重载功能使用

1. **启用热重载**
   ```
   菜单栏 → 脚本 → 启用热重载 ✓
   ```

2. **编辑脚本文件**
   ```
   使用任何文本编辑器修改 scripts/ 目录下的脚本
   保存文件
   ```

3. **自动重载**
   ```
   系统会自动检测文件变化并重新加载脚本
   已挂载的脚本会自动更新
   ```

## 快捷操作

### 键盘快捷键
- 目前没有设置特定的快捷键，主要通过鼠标操作

### 常用操作流程
1. **快速创建脚本**：菜单 → 脚本 → 创建脚本...
2. **批量重载**：菜单 → 脚本 → 重载所有脚本
3. **脚本管理**：右侧脚本管理面板
4. **状态切换**：属性面板中的启用/禁用按钮

## 注意事项

### 脚本编辑
- 脚本编辑需要使用外部编辑器（如VS Code、PyCharm等）
- 脚本文件保存在 `scripts/` 目录下
- 热重载功能会监控文件变化并自动更新

### 对象选择
- 脚本挂载需要先选择游戏对象
- 在场景树（左侧面板）中点击对象进行选择
- 选中对象后脚本挂载功能才会启用

### 错误处理
- 脚本加载错误会显示在控制台
- 创建重复名称的脚本会提示错误
- 挂载/卸载操作会有成功/失败提示

## 技术特性

### 性能优化
- 使用 Panda3D 任务系统进行脚本更新
- 热重载使用文件监控，避免频繁检查
- 脚本组件化设计，便于管理

### 扩展性
- 支持多种脚本模板
- 可扩展的脚本 API
- 模块化的脚本系统架构

## 故障排除

### 常见问题

1. **脚本创建失败**
   - 检查脚本名称是否合法
   - 确保 scripts/ 目录存在
   - 检查文件权限

2. **热重载不工作**
   - 确认热重载已启用
   - 检查文件监控服务是否正常
   - 重启应用程序

3. **脚本挂载失败**
   - 确认已选择游戏对象
   - 检查脚本是否已加载
   - 查看控制台错误信息

4. **脚本无法运行**
   - 检查脚本语法错误
   - 确认脚本已启用
   - 查看脚本系统状态

### 调试建议
- 使用控制台输出查看详细错误信息
- 检查脚本文件的语法和逻辑
- 确认脚本系统正常运行
- 重载脚本或重启应用来解决问题

## 总结

脚本管理界面提供了完整的脚本生命周期管理功能，从创建、编辑、加载到挂载和运行，都可以通过直观的图形界面操作。配合热重载功能，可以实现高效的脚本开发工作流。 