马上注册,加入CGJOY,让你轻松玩转CGJOY。
您需要 登录 才可以下载或查看,没有帐号?立即注册
×
我喜欢在工作之中开发些小工具来增加开发效率,那么本篇文章我们来看下定制Project内的特定资源 的Inspector面板显示 ,目的是为了为了更好的标记 和查找对象。这个定制 不是说对脚本组件的字段等的定制。 而是对Project 内的特定资源的定制。废话不说贴上代码 原文链接:https://blog.silucg.com/manew/article-1326.html
using UnityEngine;
using System.Collections;
using System.IO;
using UnityEditor;
// 注: 音频、贴图、材质、预制体、模型、脚本、特殊不识别的资源等都不是 DefaultAsset
[CustomEditor(typeof(UnityEditor.DefaultAsset))]
public class CustomInspector : Editor
{
private static string prePath = string.Empty;
// 1、如果是场景就显示 场景的所有引用。
// 2、如果是文件夹,就显示 文件夹下的所有文件和子目录
public override void OnInspectorGUI ()
{
string path = AssetDatabase.GetAssetPath(target);
// 1
GUI.enabled = true;
if(path.EndsWith(".unity"))
{
GUILayout.Label("场景的所有引用:");
var depends = AssetDatabase.GetDependencies(new[] { path });
for (int i = 0; i < depends.Length; i++)
{
GUILayout.Label(i + "、" + depends);
}
prePath = path;
}
// 2
else if(path.EndsWith("")){;
GUILayout.Label("文件夹下的所有内容:");
var filePaths = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
for (int j = 0; j < filePaths.Length; j++)
{
if (!filePaths[j].EndsWith(".meta"))
{
GUILayout.Label(j + "、" + filePaths[j]);
}
}
}
}
}
效果如下:
|