UnityProject面板中右键创建新的Lua脚本以及修改文件默认打开方式的编辑器
来源:互联网 发布:oracle数据库考试题 编辑:程序博客网 时间:2024/06/18 02:00
新大厅中要介入热更新,那自然少不了Lua。这两天在学习腾讯的xLua还有之前一直有在积累的shader知识。由于Unity原生没有直接创建lua脚本的功能,而且VS对Lua和Shader支持的都不是特别好,而且比较臃肿,所以我制作了创建lua脚本和改变其默认打开方式的编辑器。
1.右键创建Lua脚本
1 [MenuItem("Assets/Create/Lua Script #&c", priority = 81)] 2 static void CreateLuaScriptMethod() 3 { 4 Object[] obj = Selection.objects; 5 6 string assetPath = AssetDatabase.GetAssetPath(obj[0]); 7 string path = ""; 8 if (!Path.HasExtension(assetPath)) 9 {10 path = Path.GetFullPath(assetPath);11 }12 else13 {14 string dirPath = Path.GetDirectoryName(assetPath);15 path = Path.GetFullPath(dirPath);16 }17 path += "/NewLuaScript.lua.txt";18 int index = 1;19 while (File.Exists(path))20 {21 string dir = Path.GetDirectoryName(path);22 path = dir + "/NewLuaScript"+index+".lua.txt";23 index++;24 }25 Debug.Log(path);26 StreamWriter sw = new StreamWriter(path, false);27 sw.Close();28 AssetDatabase.Refresh();29 }
priority 是设置该条目的优先级,为了让它在创建C#脚本下方
在文件上右键时在它的目录下生成新的lua.txt文件(txt是为了能被Unity识别为TextAsset,xLua的脚本就是这种格式)。当命名重复会自动在后面增加index。
2.将Shader文件的打开方式更换为系统默认的打开方式
[OnOpenAsset] public static bool OpenShaderAsset(int instanceID, int line) { if (EditorUtility.InstanceIDToObject(instanceID) is Shader) { string assetPath = AssetDatabase.GetAssetPath(instanceID); System.Diagnostics.Process.Start(Application.dataPath + "/../" + assetPath); return true; } return false; }
系统默认打开方式人人应该都会了,想让.txt文件也用默认方式打开再创建一个函数,把Shader改成TextAsset即可。这样我的lua脚本和Shader脚本都会有VSCode打开
阅读全文
0 0
- UnityProject面板中右键创建新的Lua脚本以及修改文件默认打开方式的编辑器
- 【XML默认编辑器】修改MyEclipse 10中的各种类型文件的默认编辑器(打开方式)
- 在MyEclipse中修改各文件的默认打开方式
- Eclipse中,修改文件的默认打开方式
- Eclipse中,修改文件的默认打开方式
- IDEA中修改文件的默认打开方式
- 修改MyEclipse文件的默认打开方式
- AndroidStudio修改文件的默认打开方式
- 如何设置Eclipse编辑器的默认文件打开方式
- 如何设置Eclipse编辑器的默认文件打开方式
- 如何设置Eclipse编辑器的默认文件打开方式
- 设置Eclipse编辑器的默认文件打开方式
- 鼠标右键,在GVIM的新tab中打开文件
- Win7 : 如何修改某种文件的默认打开方式
- eclipse 批量修改文件的默认打开方式
- 通过修改注册表改变txt文件的默认打开方式
- 修改myeclipse中jsp默认的打开方式
- 在MyEclipse中修改jsp页面的默认打开方式
- cookie 、session
- caffe 利用Python API 做数据输入层
- 单例模式的七种写法
- 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“
- Unity中根据字符串生成二维码的方法
- UnityProject面板中右键创建新的Lua脚本以及修改文件默认打开方式的编辑器
- Unity扩展GameObject等类中的方法
- DedeCMSV57数据库结构文档
- redis(10)——主从复制的配置
- UnityAsseet-FieldScriptWriter‘s instruction
- RGBHSV 转换
- centOS安装telnet(在线和rpm包安装)
- Unity3D 2D Sprite描边效果Shader,可手动调整效果适配
- 笨方法学习Python-习题17: 更多文件操作