我认为这是一个小问题。
以下问题。
我有一些项目存储在我的 U 盘上。 所以我将它们导入到 godot 中,一切正常。
如果插入了 USB 记忆棒并且我启动了 godot,则会列出该项目。
现在问题来了。 如果我的 U 盘没有插入并且我启动了 godot,这个项目当然不会被列出。 但它似乎从列表中完全删除了。 即使我将棒插入我的计算机然后重新启动 godot 项目也不见了,我必须再次手动添加它。 这有点烦人。
如果该项目仍被存储,那就太好了。 即使未插入 U 盘。
我想逻辑可能是将所有项目保留在列表中,即使在系统上找不到,但可能会变灰或丢失。 尝试编辑/运行这样的项目会触发一个弹出窗口,通知您文件丢失,并建议您根据需要将其从项目列表中删除。
#8792 中的建议是将它们保留在列表中,并另外提供从项目列表中删除的选项。
我之前看过编辑器项目列表的代码,我想我对如何实现它有一个基本的想法。 我的 C++ 技能有限,但我以后可能会尝试使用它。
可以修改ProjectManager::_load_recent_projects()
的FileAccess::exists(conf)
else 块以从EditorSettings
获取以下行作为示例:
(favourite_)projects/::path::to::my::awesome::godot::project/cached_project_name
(favourite_)projects/::path::to::my::awesome::godot::project/cached_project_modified_time
(favourite_)projects/::path::to::my::awesome::godot::project/cached_project_icon
(也许来自.godot/tmp
?)
我想知道如何处理明显丢失的conf
。 它可能会再次检查磁盘上的文件,或者查看conf
是否是一个特殊的“未找到项目”字符串,但还有很多其他事情需要考虑。
最有用的评论
我想逻辑可能是将所有项目保留在列表中,即使在系统上找不到,但可能会变灰或丢失。 尝试编辑/运行这样的项目会触发一个弹出窗口,通知您文件丢失,并建议您根据需要将其从项目列表中删除。