目录

  • 目录
  • 编辑器特殊文件夹及内置资源读取
  • 编辑器相关文件夹
  • 读取内置资源包
    • 代码 Test1_1cs
    • 代码Editor1_1cs 这个要放到Editor文件夹内

编辑器特殊文件夹及内置资源读取

使用Unity引擎时 ,为了更快速任性开发,编辑器扩展是必不可少的,子曰:“工欲善其事,必先利其器“说的正是这个道理,做好编辑器开发,在整个项目中就会达到事半功倍的效果,废话不多说,在此纪录下学习过程。

编辑器相关文件夹

1,Editor
此文件夹可以放在Assets根目录下,也可以放在自文件夹里, 编辑器开发脚本要放到这个文件夹内,此文件夹内的脚本只在Unity编辑器内起作用,项目发布时不会被打包。
2,Editor Default Resources
此文件夹必须放在Assets根目录下,注意单词中间有空格,此文件夹用来存储编辑器所需资源,图片和文本,此文件夹里的内容也是不会被打包的,文件的访问方法是:EditorGUIUtility.Load (“文件名”) 。
3,Gizmos
此文件夹也是编辑器绘制Gizmos用的,相当于Resouce文件夹,只不过它是编辑器开发用的,这里不做赘述,以后的文章在说它。
这个系列只写和编辑器开发相关的东西,至于其他特殊文件夹就不在这里说了,最后挂一张测试工程的图片:

读取内置资源包

我们也可以用反射拿到编辑器内置的资源,这样我们就可以制作和Unity编译器毫无违和感的扩展了,为了确认里面的内容我们可以看到它打印出来的名称,先截一张图:

在通过EditorGUILayout.ObjectField()方法在Inspector面板创建一个texture将它们显示出来,是这样:


最后贴上代码

代码 Test1_1.cs

using UnityEngine;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
#if UNITY_EDITOR
using UnityEditor;
#endifpublic class Test1_1 : MonoBehaviour
{[SerializeField] public static List<string> texName = new List<string> ();[SerializeField] public List<Texture> texure=new List<Texture>();public List<string> name = new List<string> ();void OnEnable (){#if UNITY_EDITORname=texName;for (int i = 0; i < texName.Count; i++) {texure.Add(EditorGUIUtility.Load (texName[i]) as Texture);}#endif}[InitializeOnLoadMethod]static void GetBultinAssetNames (){var flags = BindingFlags.Static | BindingFlags.NonPublic;var info = typeof(EditorGUIUtility).GetMethod ("GetEditorAssetBundle", flags);var bundle = info.Invoke (null, new object[0]) as AssetBundle;foreach (var n in bundle.GetAllAssetNames()) {if (n.IndexOf(".png")>=0) {texName.Add (n);}Debug.Log (n);}}}

代码Editor1_1.cs 这个要放到Editor文件夹内

using UnityEditor;
using UnityEngine;[CustomEditor(typeof(Test1_1))]
public class Editor1_1 : Editor
{public override void OnInspectorGUI() {Test1_1 test = (Test1_1) target;string a;for (int i = 0; i < test.texure.Count; i++) {if (test.texure [i]) {a  = test.texure [i].name;} elsea = "";test.texure[i]=EditorGUILayout.ObjectField(i+":"+a,test.texure[i],typeof(Texture),true) as Texture;}}
}

相关资源:http://download.csdn.net/detail/warrenmondeville/9694654
本文链接:http://blog.csdn.net/warrenmondeville/article/details/53247181

Unity Editor 编辑器扩展一 编辑器特殊文件夹及内置资源读取相关推荐

  1. Unity内置资源如何打包避免冗余

    这是第249篇UWA技术知识分享的推送.今天我们继续为大家精选了若干和开发.优化相关的问题,建议阅读时间10分钟,认真读完必有收获. UWA 问答社区:answer.uwa4d.com UWA QQ群 ...

  2. python中f点flush是什么函数_Python文件操作及内置函数flush原理解析

    1.打开文件得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 示例文件 '你好呀' 我是于超 嗯 再见 文件操作基本流程 f=open('chenli',encoding='ut ...

  3. esp8266烧录Html文件,实现内置网页控制设备!

    代码地址如下: http://www.demodashi.com/demo/14321.html 一.前言: 这个月也快结束了,时间真快,我服务器知识自学依然在路途中,这几天听到热点网页配置esp82 ...

  4. git add 文件夹_软件测试学习资源—Git 基础使用

    环境准备: 操作系统: Win7 旗舰版 64位 Git:自官网下载2.22 Windows版本,默认安装 任意位置新建一个空白文件夹:d:/B03_Git 在该文件夹中点击鼠标右键,选择" ...

  5. python读取数据文件夹_使用python依次读取文件中的所有csv格式的数据

    使用python依次读取文件中的所有csv格式的数据: #coding=gbk import pandas as pd import os path = r'D:\ml_datasets\PHM\c6 ...

  6. python内置的读取文件函数_Python函数篇(3)-内置函数、文件处理(已更新)

    1.内置函数 上一篇文章中,我重点写了reduce.map.filter3个内置函数,在本篇章节中,会补充其他的一些常规内置函数,并重点写max,min函数,其他没有说明的函数,会在后面写到类和面向对 ...

  7. SpringBoot项目下resources文件夹下的静态资源浏览器无法访问

    IDEA中新建的spring boot项目resources文件夹(标注的)下的路径按道理讲,路径不需要在配置文件中配置,因为该文件夹下,默认自动识别. 但是我从外边复制了一个index.html文件 ...

  8. Android复习15【动画:创建资源文件夹、创建动画资源文件、组合动画、属性动画、材料设计新特性】

    2020-05-09-[12周-周四] Android动画 https://blog.csdn.net/zhangbijun1230/article/details/80262359 https:// ...

  9. php+打开文件和其子文件,用 PHP 内置函数 fopen 创建文件和打开文件

    使用 PHP 内置函数 fopen,可以打开一个文件. 打开文件 fopen 最简单语法如下: fopen(filepath,mode) 下面是打开一个文件的 PHP 代码示例: $f = fopen ...

最新文章

  1. linux anaconda环境变量配置
  2. 北京理工大学python系列课程-北理工《Python语言程序设计》荣获中国最美慕课一等奖...
  3. [Erlang-0011][OTP] External Term Format
  4. 程序员Linux学到什么程度,Linux学到什么程度,才可以找到合适的工作?
  5. as与c++的反射机制对比
  6. 每天一个 liunx 命令 ls
  7. Shell中各种判断语法
  8. 修改Netbeas的注释结构
  9. python 整合excel_python EXcel表整合(自动办公)
  10. [裴礼文数学分析中的典型问题与方法习题参考解答]5.1.16
  11. html用户中心界面图,某银行客户中心用户登录界面html模板代码
  12. 五万字,快速读完《图解TCP/IP》核心内容!!!(建议收藏)
  13. 地理信息系统中最基本的两种数据模型:矢量模型和栅格模型
  14. web前端期末大作业--HTML+CSS+JS实现美女拼图游戏
  15. windows系统vmware重装步骤
  16. 全局快门和卷帘快门(Global shutter and Rolling shutter)
  17. 做母婴微商怎么线上引流?做母婴产品如何线上引流?
  18. 知识管理从建立知识库做起
  19. 【001】python调用VBA方式_#py
  20. Free Pascal IDE 下载、安装、配置

热门文章

  1. EDUSOHO踩坑笔记之三十三:班级
  2. jmeter--PerfMon(性能监控工具)插件使用详解
  3. git创建/删除本地branch(分支),tag(标签)
  4. python 闭包理解与应用
  5. Alfred3 无法激活workflows解决方法
  6. Global.asax全局文件应用
  7. 我国工业路由器是否可在国外使用?
  8. HTML页面固定不动,css怎么让元素固定不动?
  9. PHP教材管理系统设计(源代码+毕业论文)
  10. MaxHub智能电视使用123