我为我的游戏添加了对模组的支持。任何放在特定文件夹中的 Python 模块都会在启动时自动导入。一切都很好,除了现在我编写了一个官方模组,它允许模组制作者轻松地将其模组的 GUI 设置添加到单个可切换的 GUI 框架中。他们不是被迫使用它,但它极大地简化了使用辅助功能添加 GUI 设置,并使玩家的事情更有条理和更简单。
问题是因为它本身就是一个 mod,它在启动时与其余的 mods(Python 模块)一起导入,所以如果有另一个 mod 的名字在它之前,它就不能使用我的 mod。我知道我可以在我的模块名称中添加“0_”或其他内容,但这不是很干净,而且你不能确定有人不会这样命名他自己的模块的模块。
所以我想知道是否有任何方法可以告诉 Python 首先导入模块,通过在模块本身内部指定它?我很确定没有,但谁知道呢?
我想到的一个解决方案是创建一个子文件夹,首先搜索模块。
另一个可能是将mod的代码与游戏的代码合并。不想这样做,以免给人的印象是这是添加 mod 设置的唯一方法。