Appearance
基础框架
本章节描述 ScriptFrame 的通用中控框架与运行边界,重点是“框架怎么驱动业务任务”,而不是某一个具体玩法脚本。
架构分层
- 表现层:
framework/gui/- 主窗口、方案编辑器、全自动配置弹窗、更新弹窗等 GUI 组件。
- 调度与运行层:
framework/core/- 模拟器发现、任务装配、多进程执行、任务状态存储与调度。
- 公共能力层:
framework/utils/与business/utils/- 提供
BaseTask、OCR/找图、多点找色、公共回首页、购买、渠道登录、全自动配置归一化等能力。
- 提供
- 业务任务层:
business/tasks/- 每个任务文件提供独立
METADATA和执行入口,由方案决定是否启用。
- 每个任务文件提供独立
- 配置与资源层:
config/、images/、resources/- 保存中控配置、任务方案、全自动配置、模板图与 OCR 模型。
- 调试与更新层:
visualization/、server/- 可视化调试器与增量更新服务。
关键目录职责
| 目录 | 作用 |
|---|---|
framework/core/ | 任务调度、任务状态、模拟器控制抽象 |
framework/gui/ | 中控界面、表格、日志、方案编辑与全自动配置 |
framework/utils/ | 路径管理、配置归一化、日志、基础任务能力 |
business/tasks/ | 具体游戏任务 |
business/utils/ | 业务共享逻辑,例如回首页、登录、购买等 |
config/ | 运行配置、任务方案、全局顺序、状态文件 |
visualization/ | 调试器、测试工具、可视化任务设计器 |
server/ | 更新服务与发布目录 |
运行主链路
一次完整执行大致会经过以下链路:
- 中控表格读取
controller_bindings,确定“模拟器 + 渠道 + 默认方案”。 - 运行前从
profiles/*.json加载方案,并按global_task_order.json重排任务。 - GUI 在启动任务前把当前渠道写入
profile_data["global_config"]["channel"]。 - 全自动运行会先根据
auto_config.json中已启用的绑定构造队列。 TaskRunnerProcess在独立进程里执行任务,并通过 IPC 把日志和状态回传给主窗口。TaskStateManager把任务完成态写入task_states/,供下次执行复用。