将 StandardScene 各插件的配置/监控窗体从 WinForms 迁移到 CycleGUI(删除 .Designer.cs/.resx,重写为 PanelBuilder 立即模式 UI,新增 CycleUiHelper 统一对话框)。 同时修复代码审核中的问题: - 后台文件写入加锁 + try/catch(ButtonBoxManager / DoorManager,对齐 LoopViewer.SaveTasks 模式) - CoderFieldsMetadata.cs 启用 #nullable enable,消除 CS8632 警告 - DummyCar 移除已废弃的 rightClickAction()/SetPosition() - CarRemoteHelper.OpenVehicleWebPage 的 Process.Start 加 try/catch - 重命名名不副实的 Mstsc()(现为打开网页) - 统一弃元命名为 _ - TrafficInterlockViewer 改用稳定 Id(GUID)做选择/编辑,替代行索引 - csproj 改用 $(CGUILibDir) 解析 CycleGUI,绝对路径收敛到 Directory.Build.props 构建:dotnet build StandardScene.sln → 0 错误,30 警告(均为历史遗留)。 注:static 单例状态重构(审核第 8 项)暂未处理,留待单独任务。
2.2 KiB
2.2 KiB
StandardScene 文档导航
1. 文档入口
| 文档 | 适合谁 | 用途 |
|---|---|---|
DocumentHub.html |
所有人 | 单文件浏览入口,双击直接打开 |
README.md |
第一次接触仓库的人 | 快速了解项目定位与运行方式 |
ARCHITECTURE.md |
工程师 / AI Agent 接手 | 整体代码架构、模块地图、扩展点、接手清单 |
DEVELOPMENT_GUIDE.md |
要开始开发的人 | 系统化理解架构、模块、配置、案例 |
QUICK_REFERENCE.md |
正在写代码的人 | 快速查入口、路径、配置、排错点 |
2. 推荐阅读路线
路线 A:第一次接触仓库
- 打开
DocumentHub.html - 阅读
README.md - 阅读
ARCHITECTURE.md(建立架构全局观) - 阅读
DEVELOPMENT_GUIDE.md - 打开
Scheduler\HeartBeatMission.cs - 动手做 HelloMission 案例
路线 B:已经会跑工程,准备开发
- 阅读
QUICK_REFERENCE.md - 根据目标定位目录
- 找最接近的参考类
- 写代码
- 回到
DEVELOPMENT_GUIDE.md查配置与调试建议
路线 C:准备改真实业务逻辑
- 先确认变更属于哪个模块
- 如果是调度,看
Chained\ - 如果是联动控制,看
Scheduler\或InterLock\ - 如果是设备或协议,看
CarTypes\、Charge\、ExtendDevice\Door\ - 如果是外部系统接入,看
WebApi.cs
3. 按目标查文件
| 目标 | 直接打开这些文件 |
|---|---|
| 了解插件怎么被宿主识别 | Scheduler\HeartBeatMission.cs |
| 做区域流量限制 | Scheduler\RegionalTrafficControlMission.cs |
| 做搬运调度 | Chained\AbstractChainedDeliveryMission.cs、Chained\TransportMission.cs |
| 做充电策略 | Charge\AbstractChargeLogicMission.cs、Charge\StandardChargeMission.cs |
| 查 API | WebApi.cs |
| 查通用工具 | Commons.cs |
4. 本地打开 HTML 文档
直接双击 DocumentHub.html 即可,无需任何部署。页面已内嵌样式与脚本,并显式声明 UTF-8 编码。
5. 建议的第一个练习
- 按
DEVELOPMENT_GUIDE.md的案例 A 新建HelloMission - 编译后部署到宿主
plugins\,运行SimpleLite.exe - 启动 Mission,确认状态每秒递增
- 再按案例 B 给站点添加
Region1=1,体验区域流控