为游戏结束后的结果展示建立独立结算层,不把结算逻辑散落在:
目标是:
一句话:
把“比赛结束后显示点什么”提升为正式的结果场景能力。
当前项目已经有:
session_finishedgameSessionStatus = finished但还没有正式的:
ResultSceneSummaryModel结束不是一个瞬时反馈,而是一次阶段切换。
所以它需要独立层,而不是只弹一句:
顺序赛、积分赛、后续幽灵赛、金币赛,结算内容不同。
所以应该有:
后续可能加入:
所以一开始就要留结构。
建议增加:
ResultScene概念上与这些层并列:
MapPresentationHUDFeedbackContentExperienceLayer职责:
interface ResultSummaryModel {
title: string
subtitle: string
mode: string
finished: boolean
durationMs: number
distanceMeters: number
averageSpeedKmh: number | null
calories: number | null
averageHeartRateBpm: number | null
completedCount: number
skippedCount: number
totalCount: number
score: number | null
extraRows: Array<{ label: string; value: string }>
}
interface ResultSceneState {
visible: boolean
summary: ResultSummaryModel | null
}
建议先做一版“基础结算页”,不要一上来做复杂演出。
顺序赛:
积分赛:
建议在配置中预留:
{
"game": {
"result": {
"enabled": true,
"showTelemetry": true,
"showCollectedContent": true,
"showAwards": false,
"template": "default"
}
}
}
这意味着:
都可配置。
负责:
session_finished负责:
负责:
负责:
建议第一阶段只做:
session_finished -> ResultScene先不要一上来做:
这层建好后,可以逐步加:
ResultSummaryModelMapEngine 汇总结束快照后续建议:
二者不要混。
如果后续结算后要解锁文创卡片,可以由:
ResultScene
当前最合适的方向不是继续在结束时零散堆文案,而是:
正式增加一层 ResultScene,承接顺序赛、积分赛以及未来更多玩法的统一结算体验。
第一阶段先做基础 summary,后续再逐步接入文创奖励、奖章、排名和过场动画。