unity 几个小工具 | 您所在的位置:网站首页 › Unity工具 › unity 几个小工具 |
清理本地游戏数据
[MenuItem ("Game/清理本地游戏数据 %k")]
private static void CleanData () {
string[] dataArr = Directory.GetFileSystemEntries (Application.persistentDataPath);
foreach (string data in dataArr) {
if (File.Exists (data)) {
File.Delete (data);
}
if (Directory.Exists (data)) {
Directory.Delete (data);
}
}
PlayerPrefs.DeleteAll ();
Debug.Log ("清理完成。");
}
Directory.GetFileSystemEntries(_path):获取路径下所有的文件和文件夹的名称。 PlayerPrefs.DeleteAll():清除PlayerPrefs下所有的数据。 获取gameObject的路径有时我们在代码中需要获取到gameObject的路径,例如transform.Find("XX/XX/XX/XX/XX/XX");如果层级很多写起来就比较麻烦,而且可能写错,这里的方法可以在Hierarchy窗口里选中gameObject时右键点出窗口来将路径放入剪贴板,在ctrl+v即可。 先使用递归获取路径,再将获取到的string放入剪切板即可。 MenuItem 里的&c 表示快捷键是 Alt + C ,%c则表示为Ctrl + C。 priority = 0 表示优先级,即在弹出窗口中的顺序。 判断Text里是否用到了Arial字体有时Text如果用了默认的Arial字体,会在设备中显示异常,以下的方法可以筛选出包含Arial的Text并选中它。 [MenuItem ("Game/Find Text With Arial &2")] private static void FindTextWithArial () { GameObject go = GameObject.Find ("Canvas"); Text[] textArr = go.GetComponentsInChildren (); foreach (Text text in textArr) { bool haveTarget = false; if (text.font == null) { Debug.Log ("无字体"); haveTarget = true; } else { if (text.font.name == "Arial") { Debug.Log ("该字体为 Arial的Text路径 path =" + GetPath (text.gameObject)); haveTarget = true; } } if (haveTarget) { Selection.activeGameObject = text.gameObject; return; } } } 设置自定义宏 [MenuItem ("Game/设置 ASYNC_MODE")] private static void SetAsyncMode () { string symbol = "ASYNC_MODE"; PlayerSettings.SetScriptingDefineSymbolsForGroup (BuildTargetGroup.Android, symbol); PlayerSettings.SetScriptingDefineSymbolsForGroup (BuildTargetGroup.Standalone, symbol); PlayerSettings.SetScriptingDefineSymbolsForGroup (BuildTargetGroup.iOS, symbol); } |
CopyRight 2018-2019 实验室设备网 版权所有 |