AssetDatebase也是一个静态类,他的作用是管理整个工程的所有文件(一般成为“资产”)。直观地说就是管理整个project窗口中的所有内容,比如,你可以增加、删除、修改文件等等。

这里有几个常常用到:

CreateAsset:创建文件

CreateFolder:创建文件夹

DeleteAsset:删除文件

GetAssetPath:获取文件相对于Assets所在目录的相对位置,如“Assets/Images/test.png”

LoadAssetAtPath:加载文件

Refresh:刷新整个project窗口

SaveAssets:保存所有文件

例子(实现右键点击文件或者文件夹,选择MyEditor/Delete Asset菜单后,删除选择的文件或者文件夹):

1
2
3
4
5
6
7
8
9
10
11
12
using UnityEditor;
 
public class EditorCase1
{
    [MenuItem("Assets/MyEditor/Delete Asset")]
    public static void CaseMenu()
    {
        var obj = Selection.activeObject;
        var path = AssetDatabase.GetAssetPath(obj);
        AssetDatabase.DeleteAsset(path);
    }
}

   

unity插件开发——AssetDatabase的更多相关文章

  1. Unity的AssetDatabase路径格式

    开发环境 windows 7 Unity 5.3 及更高版本 前言 使用AssetDatabase.Load或AnimatorController.CreateAnimatorControllerAt ...

  2. unity插件开发——一个例子:简单的svn集成

    在unity开发过程中,通常我们习惯性地在Windows操作系统下使用svn进行版本管理,而每次提交更新,都需要回到文件夹下的这种操作让人无法忍受.是不是可以集成svn到unity中呢?查了一圈uni ...

  3. unity插件开发——MenuItem

    有unity中的菜单栏是我们经常使用到的地方,如下图: MenuItem的作用就是增加一个自己的菜单 使用方法: 在工程中Assets目录下任意一个Editor目录(以后简称Editor目录,如果不存 ...

  4. unity插件开发——Selection

    Selection是一个静态类,它的主要功能是获取在project窗口中鼠标选择的对象或者是inspector窗口的当前显示的对象.它的字段有 activeGameObject activeInsta ...

  5. unity插件开发

    1.简单的svn集成: 查询svn的文档可以知道svn提供各种命令符操作.因此,原理非常简单,利用命令符操作调用svn即可.代码也非常简单: 更新:Process.Start("Tortoi ...

  6. Unity3d 内置图形界面系统(Editor GUI)

    一.说在前面的 1.unity内置的ui系统,无论是在性能的表现上.功能的强大性上.制作复杂ui的便捷性上,还是其它的一些方面都不如一些第三方的插件来的好,如:NGUI和DF-GUI(PS: 后者比前 ...

  7. [C#]关于路径的几则笔记

    测试环境 本文基于windows下的操作 windows 7 x64 unity 5.3.7p4 获取文件的路径 比如一个文件的路径为:e:\3d\client\trunk\Product\Apps\ ...

  8. 【Unity】使用AssetDatabase编辑器资源管理

    最近参考了各位大神的资源,初步学习了Unity的资源管理模式,包括在编辑器管理(使用AssetDatabase)和在运行时管理(使用Resources和AssetBundle).在此简单总结编辑器模式 ...

  9. Unity编辑器 - 资源修改立即写入磁盘AssetDataBase.SaveAssets()

    Unity编辑器 - 资源修改立即写入磁盘AssetDataBase.SaveAssets() 在编写编辑器时,如果需要修改Unity序列化资源(如Prefab,美术资源,ScriptableObje ...

随机推荐

  1. Python2和Python3中除法操作/的不同

    X/Y 在3.0版本之前的Python中 >>>1/2 0 即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分 有时候,这个功能比较有用,譬如 ...

  2. gridcontrol中LayoutView层叠图片效果

    1.效果图 2.如上图效果,为比较常见的一种需求,一堆物品图片.有时候需要给不同物品标记,图中左上角就是一张标记性图片.在devexpress里面实现起来也比较容易. 3.部分代码: class Pi ...

  3. python2.6.6安装MySQL-python模块正确方法

    Centos6.5 x64 系统python2.6.6安装MySQL-python模块 一.安装前准备 操作系统:centos6.5 x64 ·安装python和python开发工具 python p ...

  4. cin的返回值

    例: int main() { int a,b; while(cin >> a >> b) cout << a+b << endl; } 首先,cin是 ...

  5. 用Tcl/Tk脚本计算圆周率

      读了阮一峰的蒙特卡罗方法入门,用概率统计的方式求解棘手的数学问题还挺有意思的,尤其是利用正方形和它的内切圆之间的面积关系来建模求解圆周率的方法精巧又简单,比投针实验好理解也好实现多了.建模可不是M ...

  6. SVN服务搭建

    yum方式搭建: 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion 2,创 ...

  7. 了解 : 多个Http请求设计方向 (batch)

    之前都是一个restful的请求,每次只能ajax一个资源,但是遇到比较多个请求时,都是用RPC来完成,但是却让后台开了许多接口,代码开始不整齐!当然roll back只能交给RPC来负责. 游览器没 ...

  8. 面向对象重写(override)与重载(overload)区别 (转)

    一.重写(override) override是重写(覆盖)了一个方法,以实现不同的功能.一般是用于子类在继承父类时,重写(重新实现)父类中的方法. 重写(覆盖)的规则: 1.重写方法的参数列表必须完 ...

  9. 使用multer搭建一个图片接收服务器

    为了测试图片上传插件的上传功能是否好用,最近尝试搭建了一个接收图片的服务器,因为图片上传的编码格式是form-data,所以我选择使用express+multer,实现过程中发现有几个需要注意的地方, ...

  10. mfc---获取当前时间

    CTime t = CTime::GetCurrentTime(); CString strTime = t.format("%Y/&m%d" %h:%M:%S);