PackageIterator
CWL内部使用的核心功能,根据当前语言代码重定位文件。
提供用于检索Mod资源的工具,例如语言资源、音频资源和每个启用Mod目录中的文件。
所有方法都是PackageIterator
类中的静态方法。
Mod
cs
IEnumerable<DirectoryInfo> GetLoadedPackages(string? modGuid = null)
获取指定GUID的Mod根目录,或指定所有启用的Mod(使用null
)。
LangMod/**/
cs
IEnumerable<DirectoryInfo> GetLangModFilesFromPackage(string? modGuid = null)
从指定GUID的Mod获取当前语言映射的LangMod/**/
文件夹,或指定所有启用的Mod(使用null
)。
Sound
cs
IEnumerable<DirectoryInfo> GetSoundFilesFromPackage(string? modGuid = null)
从指定GUID的Mod获取Sound
文件夹,或指定所有启用的Mod(使用null
)。
Relocation
cs
IEnumerable<FileInfo> GetRelocatedFilesFromPackage(string relativePath)
使用相对路径从所有启用的Mod中获取当前语言映射文件夹中的所有重定位的文件。例如,要获取所有LangMod/**/Data/custom_data.json
,使用GetRelocatedFilesFromPackage("Data/custom_data.json")
。只有存在的文件会被返回。
cs
FileInfo? GetRelocatedFileFromPackage(string relativePath, string modGuid)
使用相对路径从指定GUID的Mod获取一个重定位的文件,可能不存在。
Excels
cs
IEnumerable<ExcelData> GetRelocatedExcelsFromPackage(string relativePath, int startIndex = 5)
获取所有重定位的Excel表格,类似于GetRelocatedFilesFromPackage
,但它们将实例化为使用startIndex
的ExcelData
。
cs
ExcelData? GetRelocatedExcelFromPackage(string relativePath, string modGuid, int startIndex = 5)
从指定GUID的Mod获取一个重定位的Excel表格,可能不存在。