当前位置:丝路教程网 > Unity3D >

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

2016-11-04 10:05 来源: 丝路教程网 分类: Unity3D
318 作者:丝路教程网

[导读] 我喜欢在工作之中开发些小工具来增加开发效率,那么本篇文章我们来看下定制Project内的特定资源 的Inspector面板显示 ,目的是为了为了更好的标记 和查找对象。这个定制 不是说对脚

  我喜欢在工作之中开发些小工具来增加开发效率,那么本篇文章我们来看下定制Project内的特定资源 的Inspector面板显示 ,目的是为了为了更好的标记 和查找对象。这个定制 不是说对脚本组件的字段等的定制。 而是对Project 内的特定资源的定制。废话不说贴上代码

  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[i]);

  }

  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]);

  }

  }

  }

  }

  }

  效果如下:

定制Project内的特定资源的Inspector面板
定制Project内的特定资源的Inspector面板

免责声明:

丝路教程网的部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,如权利人发现存在误传其作品情形,请及时与本站联系。

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

的相关文章
Copyright © 2008-2017 blog.silucg.com 丝路教程网 版权所有 网站地图
点击这里给我发消息
丝路教育