Unity Editor 下创建Lua和Text文件
预览
在Project视图中,扩展右键菜单,右键 – Create - Text File 创建一个Text文件,或者Lua文件。
关键点
获取当前选择的路径,以Assets路径开头
var selectPath = AssetDatabase.GetAssetPath(Selection.activeObject);
C# API 创建一个文件,并指定文件编码格式
File.WriteAllText("D:\Code\xxx\xxx.lua", "-- test", Encoding.UTF8);
刷新Project视图中的文件
AssetDatabase.Refresh();
代码
地址:https://github.com/zhaoqingqing/blog_samplecode/blob/master/unity_helper/Editor/CreateFileEditor.cs
完整代码如下
using System.IO;
using System.Text;
using UnityEditor;
using UnityEngine; /// <summary>
/// Unity Editor 下右键创建文本类文件
/// </summary>
public class CreateFileEditor : Editor
{
[MenuItem("Assets/Create/Lua File")]
static void CreateLuaFile()
{
CreateFile("lua");
} [MenuItem("Assets/Create/Text File")]
static void CreateTextFile()
{
CreateFile("txt");
} /// <summary>
/// 创建文件类的文件
/// </summary>
/// <param name="fileEx"></param>
static void CreateFile(string fileEx)
{
//获取当前所选择的目录(相对于Assets的路径)
var selectPath = AssetDatabase.GetAssetPath(Selection.activeObject);
var path = Application.dataPath.Replace("Assets", "") + "/";
var newFileName = "new_" + fileEx + "." + fileEx;
var newFilePath = selectPath + "/" + newFileName;
var fullPath = path + newFilePath; //简单的重名处理
if (File.Exists(fullPath))
{
var newName = "new_" + fileEx + "-" + UnityEngine.Random.Range(0, 100) + "." + fileEx;
newFilePath = selectPath + "/" + newName;
fullPath = fullPath.Replace(newFileName, newName);
} //如果是空白文件,编码并没有设成UTF-8
File.WriteAllText(fullPath, "-- test", Encoding.UTF8); AssetDatabase.Refresh(); //选中新创建的文件
var asset = AssetDatabase.LoadAssetAtPath(newFilePath, typeof(Object));
Selection.activeObject = asset;
}
}
Unity Editor 下创建Lua和Text文件的更多相关文章
- 无法在“EntityFramework”已存在的情况下创建影像复制该文件的解决方案
问题产生的原因:你项目正在生成中你就打开浏览器预览了,导致这个问题解决方案:右击重新生成项目,等生成后再打开 “/”应用程序中的服务器错误. 无法在“EntityFramework”已存在的情况下创建 ...
- Tomcat下使用C3P0配置JNDI数据源(在项目的META-INF目录下创建context.xml的文件)
一.C3P0下载 C3P0下载地址:http://sourceforge.net/projects/c3p0/files/?source=navbar 下载完成之后得到一个压缩包
- Windows下创建指定大小的文件
前言 因为需要测试存储容量,所以需要能生成指定大小的文件. 执行 #语法:fsutil file createnew 路径和文件名 文件大小 fsutil file createnew D:\test ...
- Mac 系统下创建可双击执行文件,cd到执行文件当前目录
在mac下之前我一直用.sh文件,但是要去终端里才能执行,后来得知可以写.command文件,双击及可执行,很方便,特此记录 #!/bin/bash basepath=$(cd `dirname $0 ...
- unity Editor下自启动
[InitializeOnLoad] 加上这个特性,并且在静态构造函数里写上内容.即可在Unity启动的时候自启动这个Editor脚本
- Unity Editor下对资源进行操作时调用AssetModificationProcessor
public class Test : UnityEditor.AssetModificationProcessor { private static void OnWillCreateAsset(s ...
- Inno Setup入门(六)——在程序目录下创建文件
创建文件夹可以使用[dirs]段实现,代码如下: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TEST DefaultDirName="E:\TES ...
- Inno Setup入门(六)——在程序目录下创建文件夹
创建文件夹可以使用[dirs]段实现,代码如下: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TEST DefaultDirName="E:\TES ...
- (转)Inno Setup入门(六)——在程序目录下创建文件夹
本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17250789 创建文件夹可以使用[dirs]段实现,代码如下: [s ...
随机推荐
- 第3章 NFS基本应用
1.1 概述 类似ext家族.xfs格式的本地文件系统,它们都是通过单个文件名称空间(name space)来包含很多文件,并提供基本的文件管理和空间分配功能.而文件是存放在文件系统中(上述名称空间内 ...
- Java并发(二)—— 并发编程的挑战 与 并发机制的底层原理
单核处理器也可以支持多线程,因为CPU是通过时间片分配算法来循环执行任务 多线程一定比单线程快么?不一定,因为线程创建和上下文切换都需要开销. 如何减少上下文切换 无锁并发编程 CAS算法 使用最少线 ...
- Spring Day 2
**Spring框架的IOC之注解方式的快速入门** 步骤一:导入注解开发所有需要的jar包 步骤二:创建对应的包结构,编写Java的类:接口到实现类 步骤三:在src的目录下,创建applicati ...
- vue-element-admin项目install出现的问题
1.需要安装nodejs和git 2. 配置淘宝镜像源(经常是因为墙的原因下载缓慢或者出错) npm config set registry https://registry.npm.taobao.o ...
- NGUI 做局部2d卷轴
网上找到的都是做整个背景的卷轴动画,通常是改变纹理位置或者背景图片的x坐标 没有提到在UI界面里某个部分做卷轴动画,找了很久,才发现NGUI的Panel里的Clipping属性可以裁剪Panel的大小 ...
- echarts地图 禁止高亮显示(转载)
转载来源: https://blog.csdn.net/john1337/article/details/54666759 案例一:在实际应用中希望(没有数据的省会)禁止高亮颜色,解决方案: mapC ...
- PHP生成器细说
之前写过关于生成器的文章,可能还不够详细,正好群里有朋友在讨论.觉得还是有必要再细说下,如果大家做过Python或者其他语言的,对于生成器应该不陌生.生成器是PHP 5.5.才引入的功能,也许大家觉得 ...
- javascript算法-插入排序
原理跟java那篇文章一样,只是语言不同而已 var InsertSort = function( _n ){ this.maxSize = _n; this.arr = []; this.init ...
- HTTP与HTTPs的区别?
简而言之: HTTPS = HTTP + SSL HTTP 的 URL 以 http:// 开头,而 HTTPS 的 URL 以 https:// 开头 HTTP 是不安全的,而 HTTPS 是安 ...
- xhr post请求
1. post提交的时候要设置post请求头,可以使用setRequestHeader(单独指定请求的某个http头) 2.通常在web开发中,使用表单提交数据的时候,一般是使用xml的格式进行的.可 ...