自动生成代码编译完成后自动执行
来源:互联网 发布:51单片机价格 编辑:程序博客网 时间:2024/05/16 16:21
项目上有个需求,需要读取某些文件然后自动生成代码,生成的代码编译完成后自动执行对应的代码,Unity有提供一个对应的方案[InitializeOnLoadMethod],比较简单,直接上代码吧
[MenuItem("Test/ComplierTest")] static void TTTT() { EditorPrefs.SetBool("ComplierRun", true); CreateCodeText(); } public static void CreateCodeText() { StringBuilder sb = new StringBuilder(); sb.AppendLine("using UnityEngine;"); sb.AppendLine("using UnityEditor;"); sb.AppendLine(); sb.AppendLine("public class AutoRun"); sb.AppendLine("{"); sb.AppendLine("\t[InitializeOnLoadMethod]"); sb.AppendLine("\tstatic void ComplierRun()"); sb.AppendLine("\t{"); sb.AppendLine("\t\tif (EditorPrefs.GetBool(\"ComplierRun\"))"); sb.AppendLine("\t\t{"); sb.AppendLine("\t\t\tEditorPrefs.SetBool(\"ComplierRun\",false);"); sb.AppendLine("\t\t\tDebug.Log(\"ComplierRun\");"); sb.AppendLine("\t\t}"); sb.AppendLine("\t}"); sb.AppendLine("}"); sb.AppendLine(); string code = sb.ToString(); string path = Application.dataPath + @"\Script\Editor\AutoRun.cs"; Debug.Log(path); File.WriteAllText(path, code); AssetDatabase.Refresh(); }
通过菜单执行后会生成如下代码
using UnityEngine;using UnityEditor;public class AutoRun{ [InitializeOnLoadMethod] static void ComplierRun() { if (EditorPrefs.GetBool("ComplierRun")) { EditorPrefs.SetBool("ComplierRun",false); Debug.Log("ComplierRun"); } }}
这段代码在编译后会自动执行ComplierRun()函数。
0 0
- 自动生成代码编译完成后自动执行
- 关于ISP下载中 编译后自动下载代码不能执行完成的一点问题
- 页面加载完成后自动执行(js代码)
- 加载完成一个页面后自动执行一个方法
- jquery 实现页面加载完成后,自动执行
- WinForm载入窗体完成后自动执行事件
- WinRAR 自动解压 解压完成后,执行批处理文件
- Notepad++代码自动完成
- lua代码自动完成
- Java编译时注解自动生成代码
- 代码的自动生成与编译(一)
- android apt编译时期自动生成代码
- bash"="后自动完成
- unity 编译后执行,自动配置 Xcode 项目的方法
- Appium+python自动化测试框架(自动生成html,自动截图,运行完成后自动发送到邮箱)
- Android Studio编写AIDL文件后如何自动编译生成
- Notepad++代码自动完成制作方法
- 让Eclipse代码自动完成!
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- hwc_layer_1
- Leetcode 217 Contains Duplicate
- keras第一个例程mnist_mlp.py解读
- UVA 10859 Placing Lampposts 树型DP -
- 自动生成代码编译完成后自动执行
- Android学习之路----自定义RatingBar(评分控件)
- ping
- 贫血,充血模型的解释以及一些经验(非常经典)
- 10月24号 到 12月24号 的安排
- Unity3d 64位编辑器中使用C/C++动态链接库的方法
- git 常用命令
- 计算文件MD5
- Content Provider理解