Files
Echo/Assets/_Project/Docs/TitleMenu_Technical_Reference.md
2026-07-08 20:42:51 +08:00

2.0 KiB
Raw Permalink Blame History

标题界面(TitleMenu)技术说明

目标:TitleScene 显示“开始/重新开始/继续/设置/退出”,并在进入 Title 时预加载下一个场景;加载期间按钮置灰并显示“正在加载”。

一、脚本清单

二、存档判断规则

  • 存档文件:Application.persistentDataPath/savegame.json
  • 有存档:
    • 显示 Continue 按钮
    • Start 按钮文案变为“重新开始”
  • 无存档:
    • 隐藏 Continue 按钮
    • Start 文案为“开始游戏”

三、异步预加载逻辑

  • 进入 Title 后立刻执行:
    • SceneManager.LoadSceneAsync(nextSceneBuildIndex)
    • allowSceneActivation = false
  • progress < 0.9Unity 预加载阶段)之前:
    • Start/Continue(如存在):
      • SetText("正在加载")
      • Interactable(false)
  • 达到 0.9 后:
    • 恢复按钮可交互并恢复文案(同时遵循“存档显示逻辑”)

四、按钮行为

  • Start/重新开始:
    • 若有存档:先删除 savegame.json
    • 然后激活已预加载场景(allowSceneActivation = true
  • Continue
    • 仅有存档时可见/可用
    • 激活已预加载场景
  • 设置:
    • settingsController.OpenAtIndex(0)
  • 退出:
    • Application.Quit()

五、场景接入步骤(Inspector

  1. 在 TitleScene 放置 TitleMenuController 并拖入:
  • 4 个 Reach Button 的 ButtonManagerStartOrRestart/Continue/Settings/Quit
  • SettingsRoot 上的 SettingsController(建议手动拖,避免 Find
  1. 设置 nextSceneBuildIndex 为游戏主场景的 BuildIndex