元器件基类BaseAgent

BaseAgent是所有元器件的基类
—================基础交互相关===============
1、New和LabBaseCreate方法主要是初始化元器件必要的一些必要的数据
2、entityid是当前场景中这个元器件代表的一个值,每个值都是独一无二了,但是这个值在下次打开这个颗粒会进行刷新;guid是作用类似,但是该值不会改变,会保存在颗粒文件种。

3、LabBaseAgent:LBABaseDestroy()
该方法是用来处理元器件销毁后断开对应的拼接,吸附等交互信息,对应的参数和表销毁掉。
LabBaseAgent:Quit()
方法可以在元器件脚本重写,处理基类处理不了的数据。
4、LabBaseAgent:GetClassificate()
可以获取在元器件UI配置的的json文件中的Classificate参数信息,代表当前元器件学科。
5、LabBaseAgent:SetEntireMoveId(id)
LabBaseAgent:SetEntireMoveIdByPath(path,id)
设置的是元器件InteractiveDragEx组件注册的移动事件对应的id信息。第一个方法设置的是整体的id,第二个方法可以设置子模型移动的对应id。
LabBaseAgent:GetEntireMoveId()
LabBaseAgent:GetEntireMoveIdByPath(path)
这两个接口就是获取移动事件的id,使用方法同上。
6、LabBaseAgent:SetState(newState)
LabBaseAgent:GetState()
用来设置和获取当前元器件是否是损坏状态,只有部分元器件会有使用。
7、LabBaseAgent:SetBrokenReason(reason)
LabBaseAgent:GetBrokenReason()
设置和获取的元器件损坏原因。
8、注册移动事件的接口 LabBaseAgent:LBAInitInteractiveMove(objPath,eventType,axisKeyName,cursorTable,strParam,isAutoRelease,isDefaultMovePlane)
移动事件的回调,可以在子元器件重写
LabBaseAgent:OnEntireMove(objPath,eventType,WorldPos,offset,isFocus)
移动回调接口,子元器件不可以覆盖用来处理一些通用的逻辑,例如判定相关的
LabBaseAgent:OnEntireMoveBase(objPath,eventType,WorldPos,offset,isFocus)
元器件如果内部有重写OnEntireMove的话需要在内部调用该方法,传递有给有交互相关的元器件一些移动的数据。 LabBaseAgent:LBABaseEntireMove(objPath,eventType,WorldPos,offset,isFocus)
9、InteractionBaseLogic 旋转相关的类,有各种不同的旋转交互。
10、LabBaseAgent:SwitchIgnoreObject(state,moveId,otherId)
设置爬升状态的,设置忽略爬升的话移动当前元器件到忽律对象时不会向上爬。
11.初始化点击事件,使用方法与移动的类似。
LabBaseAgent:LBAInitInteractiveClick(objPath,axisKeyName,cursorTable,strParam)
如果子类有重写的点击的话需要调用该方法。处理一些点击,高亮,图标设置等相关东西。 LabBaseAgent:LBABaseInteractiveClick(objPath,eventType,screenPos,worldPos)
12、初始化双击事件,通常用来设置或者退出最佳视角LabBaseAgent:LBAInitInteractiveDoubleClick(objPath,axisKeyName,strParam)
13、鼠标进入离开事件绑定LabBaseAgent:LBAInitInteractivePointMove(objPath,eventType,cursorTable,strParam)
14、初始化滑动,使用方法同移动事件
LabBaseAgent:LBAInitInteractiveSlider(objPath,eventType,axisKeyName,cursorTable,strParam)
15、移除某个交互
LabBaseAgent:LBADeleteInteractive(acType,interactId)
—================Lab文件 序列化反序列化相关===============