Tz2/scene-step-editor-web/README.md

161 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Scene Step 编辑器 - 网页版
这是Unity Scene Step 编辑器的网页版本完全复制了原Unity编辑器的功能和样式。
## 功能特性
### 核心功能
- ✅ 流程文件管理(创建、选择、保存)
- ✅ 步骤管理(添加、删除、折叠/展开)
- ✅ 动作管理(添加、删除、重排序)
- ✅ 三种动作类型支持:
- **默认类型**:目标对象配置
- **判断题类型**:题目和正确答案配置
- **多选题类型**:选项和正确答案配置
- ✅ 目标对象管理(添加、删除、重排序)
- ✅ 代码生成生成ProcessEvents C#代码)
- ✅ 数据验证和清理
- ✅ 本地存储支持
### 界面特性
- 🎨 完全复制Unity编辑器的视觉风格
- 📱 响应式设计
- 🔄 折叠/展开功能
- 🎯 直观的操作按钮
- 📋 模态框交互
## 文件结构
```
scene-step-editor-web/
├── index.html # 主页面
├── styles.css # Unity风格样式
├── script.js # 主要功能逻辑
├── data-models.js # 数据模型定义
├── file-manager.js # 文件管理功能
├── code-generator.js # 代码生成功能
└── README.md # 说明文档
```
## 使用方法
### 1. 打开编辑器
直接在浏览器中打开 `index.html` 文件即可开始使用。
### 2. 基本操作
#### 流程管理
- **选择流程**:使用顶部下拉菜单选择现有流程文件
- **新增流程**:点击"新增流程"按钮创建新的流程文件
- **保存流程**:点击绿色"保存"按钮保存当前配置
#### 步骤管理
- **添加步骤**:点击"+"按钮添加新步骤
- **删除步骤**:点击"-"按钮删除步骤
- **折叠/展开**:点击步骤标题切换显示状态
- **编辑描述**:在展开的步骤中修改描述字段
#### 动作管理
- **添加动作**:在步骤内点击"+"按钮添加新动作
- **删除动作**:点击"-"按钮删除动作
- **重排序**:使用"↑"和"↓"按钮调整动作顺序
- **动作类型**:选择默认、判断题或多选题类型
#### 动作类型配置
**默认类型动作**
- 配置目标对象列表
- 设置是否按顺序点击
- 为每个目标对象设置名称、类型和分数
**判断题类型动作**
- 添加判断题目
- 设置题目内容和正确答案
- 配置题目分数
**多选题类型动作**
- 添加多选题目
- 配置选项列表
- 标记正确答案(可多选)
- 设置题目分数
### 3. 代码生成
点击"生成 ProcessEvents 代码"按钮,系统会:
1. 验证当前流程数据的完整性
2. 生成对应的C#代码
3. 在弹窗中显示生成的代码
4. 提供复制功能
### 4. 数据存储
- 数据自动保存到浏览器的localStorage
- 刷新页面后数据会自动恢复
- 支持多个流程文件的管理
## 数据格式
编辑器使用与Unity版本完全相同的JSON数据格式
```json
[
{
"StepDescription": "步骤描述",
"Actions": [
{
"ActionType": 0,
"Title": "动作标题",
"Description": "动作描述",
"Score": 10.0,
"RequireCorrectCompletion": true,
"TargetObjects": [
{
"ObjectName": "目标对象名称",
"Type": 1,
"Score": 5.0
}
]
}
],
"IsCompleted": false,
"StepNumber": 0
}
]
```
## 兼容性
- ✅ Chrome 60+
- ✅ Firefox 55+
- ✅ Safari 12+
- ✅ Edge 79+
## 技术特点
- 纯前端实现,无需服务器
- 使用原生JavaScript无外部依赖
- 完全模块化的代码结构
- 与Unity版本100%数据兼容
## 开发说明
### 主要类
- `SceneStepEditor`: 主编辑器类
- `FileManager`: 文件管理器
- `CodeGenerator`: 代码生成器
- `DataUtils`: 数据工具类
### 数据模型
- `ProcessStep`: 流程步骤
- `ProcessStepDescription`: 动作描述
- `TargetObjectConfig`: 目标对象配置
- `JudgmentQuestionConfig`: 判断题配置
- `MultipleChoiceConfig`: 多选题配置
## 更新日志
### v1.0.0 (2024-12-19)
- 🎉 初始版本发布
- ✅ 完整实现Unity编辑器的所有功能
- ✅ Unity风格的界面设计
- ✅ 代码生成功能
- ✅ 本地存储支持