Feat/continue game#961
Conversation
There was a problem hiding this comment.
Code Review
This pull request implements a 'Continue' feature and 'Fast Save' recovery logic, including timestamp-based save sorting and a prompt to restore temporary progress upon returning to the title screen. Feedback focuses on missing state updates to hide the title UI after loading a save, as well as off-by-one errors when fetching save data using the new MAX_SAVE_SIZE constant.
| onClick={() => { | ||
| if (!latestSave) return; | ||
| playSeClick(); | ||
| loadGameFromStageData(latestSave); | ||
| }} |
There was a problem hiding this comment.
“继续游戏”按钮逻辑中缺少了隐藏标题界面的 dispatch 调用。这会导致在加载存档数据后,标题界面仍然显示在最上层,用户无法看到游戏画面。建议添加 dispatch(setVisibility({ component: 'showTitle', visibility: false }));。
| onClick={() => { | |
| if (!latestSave) return; | |
| playSeClick(); | |
| loadGameFromStageData(latestSave); | |
| }} | |
| onClick={() => { | |
| if (!latestSave) return; | |
| playSeClick(); | |
| dispatch(setVisibility({ component: 'showTitle', visibility: false })); | |
| loadGameFromStageData(latestSave); | |
| }} |
| leftFunc: () => { | ||
| loadFastSaveGame(); | ||
| setFastSaveLoaded(true); | ||
| }, |
| await getStorageAsync(); | ||
| getFastSaveFromStorage(); | ||
| getSavesFromStorage(0, 0); | ||
| getSavesFromStorage(0, MAX_SAVE_SIZE); |
| getStorage(); | ||
| getFastSaveFromStorage(); | ||
| getSavesFromStorage(0, 0); | ||
| getSavesFromStorage(0, MAX_SAVE_SIZE); |
|
许多游戏的继续游戏,是直接读取上一次退出游戏时的状态。我认为朝着这个方向实现一个随着游戏推进的自动保存是符合直觉的。如果遇到游戏结束的情况,那么我们将自动保存的存档删除,并将按钮置灰即可。 |
- 增加 Enable_Continue 参数,配置继续游戏按钮是否启用 - 继续游戏按钮会在没有自动存档时置灰 - 修改自动存档的记录逻辑,现在会在 end 结束时删除自动存档
c02c3ab to
2a79ad3
Compare
已修改,目前的变更包括:
|
本提交旨在优化目前“继续游戏”功能与紧急回避存档的存储与读取逻辑,包含一下变更:
saveTimestamp字段,用于更稳定地对存档进行排序(兼容旧存档的saveTime字段)。