在VS、Mono中使用Unity编辑器相关命名空间,然后F12就能跳到具体的编辑器命名空间定义中,查阅好相关字段、方法等,再使用反射技术就可以使用内部的私有方法。
大体形式如下:
1. #if UNITY_EDITOR
2. using UnityEditor;
3. using UnityEditor.Sprites;
4. using System.Reflection;
5. #endif
6. using UnityEngine;
7. using System;
8. using System.Collections;
9. using UnityEngine.UI;
10.
11. using Object = UnityEngine.Object;
12.
13. public class NewBehaviourScript : MonoBehaviour
14. {
15. void Start()
16. {
17. #if UNITY_EDITOR
18. MethodInfo dynMethod = typeof(PackageInfo).GetMethod("GetPackageList", BindingFlags.NonPublic | BindingFlags.Static);
19. object obj = dynMethod.Invoke(typeof(PackageInfo), null);
20.
21. PackageInfo[] packageInfos = obj as PackageInfo[];
22. foreach(PackageInfo packageInfo in packageInfos)
23. {
24. Debug.Log("-----------------------------------------------");
25. Debug.Log(packageInfo.iconURL);
26. Debug.Log(packageInfo.jsonInfo);
27. Debug.Log(packageInfo.packagePath);
28. }
29. #endif
30. }
本文转自 宁金峰 51CTO博客,原文链接:http://blog.51cto.com/13243523/1982789,如需转载请自行联系原作者