LabElementManager

LabElementManager中保存场景中所有物体,和一些通用的功能操作

器材创建时,通过AddElement()方法插入LabElementManager表中,key值为器材entityId,value为该器材element
同理,器材销毁时,也会从该表中移除
最常用的功能就是,通过GetElement()、GetElementByGuid()、GetAll()、GetElementsByType()等方法获取其他器材,具体写法如下
local element = LabElementManager.GetElement(otherId)

可能会用到的方法

LabElementManager.CheckSelectedElements(id) —该id器材是否被选中
LabElementManager.DestroyElements —销毁器材(可销毁多个)
LabElementManager.DestroyElement —销毁器材
LabElementManager.AddToSelectedElements —加选器材
LabElementManager.RemoveFromSelectedElements —减选器材
LabElementManager.AbsorbLink —将两物体建立连接关系()
LabElementManager.AbsorbFollow —将两物体建立连接跟随关系(移动父物体带动子物体)
LabElementManager.AbsorbIgnoreChildrenClimb —吸附后,父物体忽略和子物体的爬升

固体药品相关

LabElementManager.RecoverAllSolidContainerLink —恢复固体组件数据
LabElementManager.AddContainerSolidElement —添加固体组件容器数据
LabElementManager.RemoveContainerSolidElement —移除固体药品数据
LabElementManager.GetAllSolideElements —获取某个容器中的所有固体药品Id
LabElementManager.GetSolidNotDelElements —获取某个容器中不一起删除的固体药品Id
LabElementManager.GetAllSolideDelElements —获取某个容器中的所有待删除固体药品Id
LabElementManager.HasLinkContainer —判断药品是否绑定容器
LabElementManager.GetSolidContainerById —通过Id获取容器GUID

倾倒相关

LabElementManager.AddPouringEle —添加倾倒状态器材
LabElementManager.RemovePouringEle —移除倾倒状态器材
LabElementManager.ClearAllPour —清除所有倾倒状态

一些用不到的方法(器材中不用,基类中使用)

LabElementManager.ClearUeslessData —清除器材数据(使用完毕后清除)
LabElementManager.TryRecoverAllElelineLink —还原所有的导线连接数据
LabElementManager.TryRecoverAllAbsorb —恢复吸附关系
LabElementManager.TryRecoverAllClamp —恢复夹取关系
LabElementManager.TryRecoverAllDropper —恢复吸取关系
LabElementManager.TryRecoverAllJoint —恢复拼接关系
LabElementManager.CancelAllHighlight —取消所有元器件的高亮
LabElementManager.RefreshSelectedEffect —清除选中器材的高亮
LabElementManager.ClearSelectedElements —清空选中器材数据
LabElementManager.GetSelectedElements —获取选中器材表
LabElementManager.ExecuteReadyDelete —按下delete键时,删除选中器材
LabElementManager.DestroryLabObjectMsg —调用UIData的销毁器材消息
LabElementManager.AbsorbIgnoreEleLineClimb —吸附后处理导线的爬升
LabElementManager.GetEleLineInAbsorbedItems —获取导线吸附的物体
LabElementManager.AddGroupElement —创建组合元器件时,插入组合表中
LabElementManager.GetGroupElements —通过组Id获取元器件
LabElementManager.GetGroupElement —获取某个组合元器件
LabElementManager.RemoveGroupElement —移除组合元器件
LabElementManager.ClearAllGroupElements —清空组合表数据
LabElementManager.CallFuncOnElementLoad —延时调用,用于先创建的器材要调用未创建器材的方法
LabElementManager.UpdateElementsAngle — 更新在世界坐标下的元器件角度(vr判定步骤使用)