近期热门
粉丝3
关注 0
获赞 2
Unity教程:定制Project内特定资源的Inspector面板

[U3D] Unity教程:定制Project内特定资源的Inspector面板

[复制链接]
2048 2 0 1 6年前 举报
  我喜欢在工作之中开发些小工具来增加开发效率,那么本篇文章我们来看下定制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]);
  }
  }
  }
  }
  }
  效果如下:

0.jpg

1.jpg
0
点赞
0
打赏
1
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论2
您需要登录后才可以回帖 登录

资源甚好,且阅且珍惜!
6年前
回复

使用道具 举报

厉害了我的哥!
6年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器