AC.ComponentHelper

动态脚本挂载(AgentComponent_VLabComponentHelper)

引擎包 2.8.3

0、添加美术提供的脚本的流程

  工程地址:git@git.sdp.nd:121105/ArtPerformance.git
  • 将美术的脚本提供给通用组件的开发人员(建议lua接入完成后提供)
  • 通用组件的开发人员将脚本放置于ArtPerformance项目的ArtistScripts文件夹下(可新建分类文件夹进行存放),但命名空间最好保持一致

  • 通用组件的开发人员推送修改到远程
  • lua端开发人员更新ArtistScripts.dll,即可通过以下接口挂载美术提供脚本

1、挂载脚本

1.1 void AddComponentNoReturn(int entityId, string path, string componentName)

简要说明

挂载脚本(需按照0中的要求配置)

参数

参数名 类型 说明
entityId int 元器件实例ID
path string 子路径(如果为空,表示挂载在元器件根节点)
componentName string 脚本名

例子

self.VLabComponentHelper:AddComponentNoReturn(entityId, "", "ExampleScript")

1.2 Component AddComponentWithReturn(int entityId, string path, string componentName)

简要说明

挂载脚本(需按照0中的要求配置),并返回组件实例

参数

参数名 类型 说明
entityId int 元器件实例ID
path string 子路径(如果为空,表示挂载在元器件根节点)
componentName string 脚本名

返回值

类型 说明
Component 组件实例

例子

local scri = self.VLabComponentHelper:AddComponentWithReturn(entityId, "", "ExampleScript")
scri.Test = 10

1.3 void SetEnumValue(object o, string fieldName, object value)

版本信息

【V0.2】【2020/9/16】【引擎包2.8.31】

简要说明

设置枚举值

参数

参数名 类型 说明
o object 需要赋值的对象
fieldName string 需要赋值的字段名
value object 枚举值(可传入int, string类型)

例子

self.VLabComponentHelper:SetEnumValue(self.scriOil, "liquidType", 1)
self.VLabComponentHelper:SetEnumValue(self.scriOil, "liquidType", "Oil")

1.4 void SetResource(object o, string fieldName, string abName, string resPath)

版本信息

【V0.2】【2020/9/16】【引擎包2.8.31】

简要说明

为资源类型变量赋值

参数

参数名 类型 说明
o object 需要赋值的对象
fieldName string 需要赋值的字段名
abName string ab包的名字,一般传入元器件的名字
resPath string 资源所在路径

例子

self.VLabComponentHelper:SetResource(self.scriCanvas, "pencilTex", "ScienceBaiZhiElement", "ElementResource/Model/Science/baizhipian_lod0/Textures/baizhipian_lod0_id01/Pencil")

1.5 void FillResourceList(object o, string fieldName, string abName, string resPath)

版本信息

【V0.3】【2020/10/21】

简要说明

为资源List类型变量赋值(List<Shader>, List<Material>, List<Texture2D>)

参数

参数名 类型 说明
o object 需要赋值的对象
fieldName string 需要赋值的字段名(需为List<Shader>、List<Material>、 List<Texture2D>其中一种类型)
abName string ab包的名字,一般传入元器件的名字
resPath string 资源所在路径

例子

self.VLabComponentHelper:FillResourceList(self.scriCanvas, "textures", "ScienceBaiZhiElement", "ElementResource/Model/Science/baizhipian_lod0/Textures/baizhipian_lod0_id01/Pencil")