比如编辑模式下对场景或者特定文件夹有一些操作可以在这个面板里来完成。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using UnityEngine; using System.Collections; using UnityEditor; [CustomEditor(typeof(UnityEditor.DefaultAsset))] public class CustomInspector : Editor { public override void OnInspectorGUI () { string path = AssetDatabase.GetAssetPath(target); GUI.enabled = true; if(path.EndsWith(".unity")) { GUILayout.Button("我是场景"); }else if(path.EndsWith("")){; GUILayout.Button("我是文件夹"); } } } |
如果你是unity5.3的话, 想在场景面板上面绘制东西需要使用 UnityEditor.SceneAsset
1 2 3 |
[CustomEditor(typeof(UnityEditor.SceneAsset))] |
- 本文固定链接: https://www.xuanyusong.com/archives/3685
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!
2018.3 SceneAsset 可以取到 .unity DefaultAsset 可以取到文件夹 2选1了
请问可以改变Transform 的外观么?
可以
大神,我的是5.3的版本,为什么我用[CustomEditor(typeof(UnityEditor.DefaultAsset))]时候,文件夹可以显示,场景不显示而我用[CustomEditor(typeof(UnityEditor.SceneAsset))]时候,场景显示,文件夹就不显示啊?
表示5.4.1也是这种情况,版本问题吗
可是好像对原来就有控件的Inspector面板无效额
是的。。 不能覆写。。
@雨松MOMO , 你好.
在学习你的代码的过程中, [CustomEditor(typeof(UnityEditor.DefaultAsset))] 这句 编译器报错 说找不到 DefaultAsset , 为什么呢?
得unity5
嗦嘎~~~ 感谢.. 我说在Unity4.6里面整死找不到这个类.
不能通过文件扩展名来判定是不是目录,会跟无后缀名的文件混淆。
assetpath = AssetDatabase.GetAssetPath(target);
if (Directory.Exists(assetpath))
{
...
}
这个比较靠谱。[呵呵]
学习了,真心不错哦!
有些功能放在这里, 可以节省一个menuItem 或者 一个 editorWindows