目录
一,Unity资源加载路径(概念)
1.Unity API——Application类的详解
2.Unity资源加载路径及加载方式小结
二,Unity预编译宏定义
1.Unity 预编译相关宏定义 (如:UNITY_EDITOR)
三,Unity #if预处理
1.C# #if、#endif和预处理指令
2.unity #if 的变量定义及用法
四,Unity 文件及目录的操作
1.C#文件夹操作之Directory类和DirectoryInfo类
2.Unity中File和FileInfo
3.C#学习之基础篇(File、FileInfo、Directory、DirectoryInfo区别)
路径属性 | 路径说明 |
Application.dataPath | 此属性用于返回程序的数据文件所在文件夹的路径。例如在Editor中就是Assets了 |
Application.streamingAssetsPath | 此属性用于返回流数据的缓存目录,返回路径为相对路径,适合设置一些外部数据文件的路径。放在Unity工程StreamingAssets文件夹中的资源发布后都可以通过这个路径读取出来。 |
Application.persistentDataPath | 此属性用于返回一个持久化数据存储目录的路径,可以在此路径下存储一些持久化的数据文件。 |
Application.temporaryCachePath | 此属性用于返回一个临时数据的缓存目录。 |
GameConstSetting文件中的switch
switch (PathType) { case AssetPathType.Resource: path = Application.dataPath; break; default: path = ""; break; }
ResourcePathHelper文件中的RefreshAllFilePath()
#if UNITY_EDITOR LoadResourcePathOnEditor(); #else LoadResourcePathFromTable(); #endif
第一个讲用法,第二个讲概念
//VS会在编写代码时就自动判断出将会执行哪个代码块,并把不会执行的置灰。 //当游戏处于编辑器阶段即还未发布时(可以在VS中改变调试的模式为Release) #if DEBUG Debug.Log("当前是编辑器模式"); #else Debug.Log("当前不是编辑器模式"); #endif
ResourcePathHelper文件中的AddAssetPath()
FileInfo[] files = dir.GetFiles(); for (int index = 0; index < files.Length; index++) { FileInfo file = files[index]; string name = file.Name; string fullPath = file.FullName.Replace("\\","/"); if (name.EndsWith(".meta")) { continue; } if (FilePathDic.ContainsKey(name)) { LogHelper.LogError("文件名重复,名字为::" + name); } else { string path = fullPath.Replace(fromPath, ""); path = path.Substring(1, path.Length - 1); path = addPath + path; FilePathDic.Add(name, path); } } DirectoryInfo[] dirs = dir.GetDirectories(); for (int index = 0; index < dirs.Length; index++) { AddAssetPath(dirs[index], pathDic,fromPath,addPath); }
注明:以上所有超链接均为引用,仅供个人学习,太多所以不一一标注
今日思维导图进度