帮做网站制作挣钱,企业网站制作公司,东莞官方网站建设,抚顺网站开发招聘文章目录 1.Unity 预定义程序集2.Assembly definition3. Assembly definitions相关实验 1.Unity 预定义程序集
Unity 有4个预定义程序集#xff1a;
阶段程序集名脚本文件1Assembly-CSharp-firstpassStandard Assets, Pro Standard Assets和Plugins文件夹下面的运行时脚本2A… 文章目录 1.Unity 预定义程序集2.Assembly definition3. Assembly definitions相关实验 1.Unity 预定义程序集
Unity 有4个预定义程序集
阶段程序集名脚本文件1Assembly-CSharp-firstpassStandard Assets, Pro Standard Assets和Plugins文件夹下面的运行时脚本2Assembly-CSharp-Editor-firstpass Standard Assets, Pro StandardAssets和Plugins文件夹下面的Editor文件夹下面的Editor脚本3Assembly-CSharp其它不在Editor文件夹下面的脚本4Assembly-CSharp-Editor所有剩下的脚本Editor文件夹下面的脚本
Unity自定义程序集DLL文件的生成路径项目路径\Library\ScriptAssemblies\xxxx.dll
2.Assembly definition
程序集是一个C#代码库它包含由脚本定义的已编译类和结构还定义了对其他程序集的引用。 默认情况下Unity将几乎所有的游戏脚本编译到预定义的程序集中Assembly-CSharp.dll。 这种安排对于小型项目来说是可以接受的但是当你向项目中添加更多代码时会有一些缺点
每当你改变一个脚本时Unity就必须重新编译所有其他脚本这增加了迭代代码更改的整体编译时间。任何脚本都可以直接访问任何其他脚本中定义的类型这使得重构和改进代码变得更加困难。所有脚本都是为所有平台编译的。
在工程下新建两个文件夹 在两个文件夹下右键创建Assembly Definition文件后缀名为.asmdef
属性介绍
Name程序集的名称 程序集名称在整个项目中必须唯一General ① Allow ‘unsafe’ code如果程序集中使用了Unsafe关键字需要勾选此选项否则报错 ② Auto Referenced指定是否所有预定义程序集都应引用此程序集。 ③ No Engine References启用此属性后Unity在编译程序集时不会向UnityEditor或UnityEngine添加引用。 ④ Override References启用后以手动方式确认引用哪些程序集 ⑤ Root Namespace当前程序集的默认命名空间填写后我们使用unity添加新代码文件会自动添加命名空间。Define Constraints指定必须定义的编译器#define指令才能编译或引用程序集。Assembly Definition References指定对使用 Assembly Defienitions 创建的其他程序集的引用。Platforms设置发布平台
在MyCode1文件夹下新建MyTool.cs脚本用于测试
public class MyTool
{public static string SayHello(){return Hello world;}
}在MyCode2文件夹下创建Visit.cs脚本尝试访问Tool中的静态方法会发现不存在 对MyCode2.asmdef添加MyCode1.asmdef的引用 再次访问发现可以正常访问到 在VS中也可以看到形成了两个程序集
3. Assembly definitions相关实验
引用其它文章https://zhuanlan.zhihu.com/p/388803476