Skip to content

[Feature] 在"崩溃窗口"界面添加"重启游戏"按钮 - #6894

Open
fishdry1000 wants to merge 2 commits into
HMCL-dev:mainfrom
fishdry1000:featrue/restart
Open

fishdry1000 wants to merge 2 commits into
HMCL-dev:mainfrom
fishdry1000:featrue/restart

Conversation

@fishdry1000

@fishdry1000 fishdry1000 commented Sep 19, 2026

Copy link
Copy Markdown
image

closes #6820
效果如图。没有理解崩溃次数计数的用意,所以先没有实现。

@github-actions github-actions Bot added the 40+ label Sep 19, 2026
@ToobLac

ToobLac commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

我的理解是应该关闭崩溃窗口然后在主窗口里弹对话框吧?现在这样有点奇怪

@fishdry1000

fishdry1000 commented Sep 20, 2026

Copy link
Copy Markdown
Author

emm 研究仓库代码的时候发现,启动器可见性为 HIDE 模式下,LauncherHelper 启动游戏后会执行 Controllers.shutdown() 销毁主窗口。如果需要在崩溃的时候重新拉起主窗口,有几个方案:

  1. 修改 HIDE 模式下主窗口的生命周期,在启动后只隐藏主窗口,和 HIDE_AND_REOPEN 模式保持一致。
  2. 让崩溃窗口重新初始化主窗口。
  3. 启动一个新的 HMCL 进程。
  4. 放弃 HIDE 模式下的重启功能,支持其他两个模式(CLOSE 根本就到不了崩溃窗口)

对于 1:实现起来比较复杂,延长生命周期,可能会增加资源占用
对于 2:实现起来更复杂,也会增加耦合性。
对于 3:我不建议。
对于 4:几个模式相比较,其实是 HIDE 模式最需要这个功能

所以相比之下,还是直接在崩溃窗口启动最简单,而且 LauncherHelper 直接持有 launchingStepsPane 启动进度界面,传参比较方便。

edit: #4216 这个 issue 和上述问题相关

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 在"崩溃窗口"界面添加"重启游戏"按钮

2 participants