Sott Implementation Ue Phase A
UE 开工清单 — Phase A 垂直切片
在
SOTT/**SVN 工程内由程序组落地;本页为验收清单。依赖工程已启用 GameplayStateTree(SOTT.uproject)。
验收目标
在 Listen Server + 双客户端 或 PIE 双控 下可完成一局简化流程:选总部 → 过随机事件 → 买地/竞拍占位 → 建房 → 生产扣维护 → 最小出售。
任务分解
| # | 任务 | 产出 | 备注 |
|---|---|---|---|
| A1 | AGameState / AGameMode 骨架 |
会话级随机种子、ruleset_version |
与 DT_MapLevel 对齐 |
| A2 | UGameClockSubsystem |
LogicRoundIndex、SegmentTimeLeft |
复制到客户端 UI |
| A3 | PhaseController + StateTree |
八阶段或精简子集 | 仅 Server 切阶段 |
| A4 | UMapModelSubsystem |
5×5 格数组、WardId、地价查询 API |
含 8 邻优惠钩子 |
| A5 | 建筑放置 | PlaceBuilding RPC、建造计时、Active 状态 |
对接 DT_Building |
| A6 | ProductionPipeline |
先生产后需求、缺料不产扣维护 | 写库存结构 |
| A7 | MarketEngine v0 |
单轮竞价 或 轮末一口价(二选一先通) | 与 DT_MarketBand |
| A8 | EventDirector + 2 效果 |
AdjustLandPrice、UnlockTiles |
绑定 DT_EventLevel 测试行 |
| A9 | UI 占位 | 顶栏:回合/阶段/现金;主区:简网格 | UMG 即可 |
测试用例(最小)
- 同一地图加载两次,
ruleset_version不同 → 拒绝或警告。 - 逻辑回合开始 → 必触发至少一条随机事件(可配置池单条)。
- 缺料工厂:本回合产出 0,维护费仍扣。
SOTT.FireEvent(见 事件与指令)手动触发UnlockTiles后格可购买。