编辑器扩展——模板
来源:互联网 发布:淘宝网原珍向天果官网 编辑:程序博客网 时间:2024/06/08 19:03
using UnityEngine;using System.Collections;using UnityEditor;using System.Text;using UnityEditor.ProjectWindowCallback;using System.IO;public class ExtensionScript {[MenuItem("Assets/Create/Lua Scripts",false,85)]public static void CreateLuaScripts(){ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance<CreateAssetAction>(), GetSelectedPath()+"/NewLuaScript.cs", null, "Assets/Editor/Template/85-Lua-NewLuaScript.lua.txt");}private static string GetSelectedPath(){string selectedPath = "Assets";Object[] selection = Selection.GetFiltered(typeof(Object),SelectionMode.Assets);foreach (Object obj in selection) {selectedPath = AssetDatabase.GetAssetPath(obj);if (!string.IsNullOrEmpty(selectedPath) && File.Exists(selectedPath)) {selectedPath = Path.GetDirectoryName(selectedPath);break;}}return selectedPath;}}public class CreateAssetAction : EndNameEditAction{public override void Action (int instanceId, string pathName, string resourceFile){Object obj = CreateAssetFromTemplate(pathName,resourceFile);ProjectWindowUtil.ShowCreatedAsset(obj);}internal static Object CreateAssetFromTemplate(string pathName, string resourceFile){string fullName = Path.GetFullPath(pathName);StreamReader sr = new StreamReader(resourceFile);string content = sr.ReadToEnd();sr.Close();string fileName = Path.GetFileNameWithoutExtension(fullName);content.Replace("#NAME", fileName);StreamWriter sw = new StreamWriter(fullName,false,Encoding.UTF8);sw.Write(content);sw.Close();AssetDatabase.ImportAsset(pathName);AssetDatabase.Refresh();return AssetDatabase.LoadAssetAtPath(pathName,typeof(Object));}}
0 0
- 编辑器扩展——模板
- 扩展Unity3D编辑器的脚本模板
- 扩展Unity3D编辑器的脚本模板
- ACM常用模板——扩展KMP
- 扩展欧几里得算法——模板整理
- 学习vi编辑器 —— 基本编辑命令的扩展
- unity 简单编辑器的扩展应用—1
- 编辑器扩展
- 扩展Repeater——让Repeater具有EmptyDataTemplate模板功能!
- 扩展Repeater——让Repeater具有EmptyDataTemplate模板功能!
- [模板]扩展KMP模板
- 编辑器扩展学习笔记(三)———菜单选项的可用性验证
- OpenCms自定义结构化类型的高级设置——扩展OpenCmsHtml类型的编辑器
- Spring功能扩展的一些思考——Spring自定义属性编辑器为例
- 最全Pycharm教程(42)——Pycharm扩展功能之Emacs外部编辑器
- Unity编辑器扩展学习笔记(一)——添加菜单选项
- Unity编辑器扩展学习笔记(二)——给创建的菜单选项添加快捷键
- 最全Pycharm教程(42)——Pycharm扩展功能之Emacs外部编辑器
- Android Studio 网络编程 OkHttp3 用法
- System.arraycopy()从指定源数组中复制一个数组
- 设置导航栏透明,tableview不能下拉,并默认起点(0,0),页面消失后导航栏还原
- android开发游记:RecycleView 实现复杂首页布局三种方式
- Codeforces Round #373 (Div. 1) C.Sasha and Array
- 编辑器扩展——模板
- Android自定义控件之简介
- 重载函数
- OpenJudge - 2989 糖果 动态规划(DP) 重庆一中高2018级竞赛班第十一次测试 2016.9.24 Problem 2
- Module中无法使用R文件问题
- 关于js中var关键字的作用
- 各大搜索引擎智能提示API(jsonp实现跨域自动补全建议)
- android开发游记:APP内部调启百度、高德、web地图导航
- 指令系统及汇编语言程序设计