我在 Unity 3D 中开发,有时会编写编辑器工具。有时我会遇到目录分隔符的问题。例如,Unity API 始终使用“/”来请求 AssetDatabase 路径。但是 IO 类,如文件、目录或路径使用系统分隔符,因此它在 Windows 上是“\”,在 macOS 上是“/”。即使在 Windows 上也可以让它们默认使用“/”吗?也许有一些我可以在运行时初始化阶段初始化的文件?每次都用'/'替换'\'来统一API调用很烦人。我的代码现在看起来像这样,我认为它很丑陋:foreach (var prefabPath in prefabPaths){#if UNITY_EDITOR_WIN prefabPath = prefabPath.Replace('\\', '/');#endif .............}
1 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
不幸的是,这是添加逻辑最少的最佳方法。我可以帮你稍微修饰一下。
//using System;
//using System.IO;
foreach (string _preFabPath in PreFabPaths)
{
#if UNITY_EDITOR_WIN
_preFabPath = _preFabPath.Replace(Path.DirectorySeparatorChar, '/');
#endif
}
DirectorySeparatorChar 将使用您所在系统的本地路径分隔符。
强调封装的私有变量将有助于将 preFabPath 识别为 ForEach 封装的变量。
- 1 回答
- 0 关注
- 97 浏览
添加回答
举报
0/150
提交
取消