JEngine的使用-2-ClassBind案例

JEngine的使用-2-ClassBind案例_第1张图片

ScriptsToBind:绑定来源于热更工程的脚本,下面是列表,每个列表成员都是一个热更工程的脚本或类。

JEngine的使用-2-ClassBind案例_第2张图片 

Element:列表成员。

ClassNamespace:来源于热更工程的脚本/类的命名空间,如果热更工程的脚本/类没有定义命名空间,那这里也保持空字符就好了。

JEngine的使用-2-ClassBind案例_第3张图片 

ClassName:来源于热更工程的脚本/类名称,不受访问级别的限制(internal/public)。

ActiveAfter: 激活之后,这个属性只针对于热更工程中的MonoBehaviour的组件派生类,用来控制组件在执行了初始化周期函数OnEnabel()、Awake()、Start()之后是否保持激活组件的enable的属性,这也直接决定影响这个组件的相关周期函数的执行能力,比如:Update()。

Fields:成员也是个列表,是对来源于热更工程的脚本/类的字段成员的曝光赋值操作。

JEngine的使用-2-ClassBind案例_第4张图片

JEngine的使用-2-ClassBind案例_第5张图片 

可以看出,热更项目脚本/类的字段是受访问级别的影响的,如果非公开public类型的字段想要在Unity中进行显示就需要借助[SerializeField]的特性了。

FieldType:是对应变量字段的类型。

JEngine的使用-2-ClassBind案例_第6张图片 

        这里准备了几种类型足够工程使用了。

        简单类型包括数字类型Number、字符串类型String、判断类型Bool。

        Unity类型有游戏对象GameObject、MonoBehaviour派生的组件UnityComponent、以及热更的资源类型(比如TextAsset、Texture、Font、AnimationClip...)HotUpdateResource。

        如果不知道是什么类型,那就是NotSupported的不支持类型了。

FieldName:对应变量字段的名称。

Value:如果变量字段类型是简单类型可进行初始值设定,如果是Bool类型的话值就是False/True或false/true,不受大小写影响的组合。

GameObject:如果变量字段类型是GameObject或者UnityComponent时可通过在Hierarchy或Project/Assets中进行拖拽引用赋值。

快捷操作的按钮:

JEngine的使用-2-ClassBind案例_第7张图片

自动匹配全部fields:一键搜索脚本/类的可显示的字段成员,并匹配类型和初始值信息,是使用频率最高的快捷方式。 

自动矫正field的type:如果变量字段指定的类型不匹配或没有指定类型操作时,可通过这个按钮进行一键类型的矫正匹配,使用频率也较高。

重新排序全部fields:按照热更项目的变量字段定义顺序进行排序,一般不怎么用。

到这里我们就可以在Unity项目中自由的对热更项目中的脚本/类进行绑定和实例化以及对其变量字段成员进行赋值和引用关联的操作。

你可能感兴趣的:(Unity,Unity插件系列,C#,c#,unity,unity3d)