LabControlAgent类

LabControlAgent主要负责场景管理,处理一些通用的场景事件。脚本通过向组件注册回调函数来驱动逻辑代码。初始化函数由Game_StandAlone.Lua调用。LAB_MGR为该脚本的全局表,可在其他脚本中直接引用。开发元器件时较少接触此脚本,它属于通用框架脚本。

回调函数

  • 元器件生成与删除

    self.SceneLabMgr:AddListnerOnLabCreated(LabControlAgent.OnCreateLuaElementsByType)
    self.SceneLabMgr:AddListnerOnLabAndSlaveCreated(LabControlAgent.OnCreateLuaElementsAndSlaveByType)
    self.UIData:AddListenerOnDestroyLabObject(LabControlAgent.OnDestroyLabObject)
    self.UIData:AddListenerOnDestroyAllLabObject(LabControlAgent.OnDestroyAllLabObject)
    
  • 编辑器保存lab文件

    self.SceneLabMgr:AddListnerOnLabSaved(LabControlAgent.OnSaveAnElement)
    self.SceneLabMgr:AddListnerOnLoadAllElement(LabControlAgent.FinishLoadAllElements)
    
  • 获取元器件信息

    self.UIData:AddListenerOnGetElementParams(LabControlAgent.OnGetElementParams)
    self.UIData:AddListenerOnGetElementSerialNumber(LabControlAgent.OnGetElementSerialNumber)
    self.UIData:AddListenerOnGetElementState(LabControlAgent.OnGetElementState)
    self.UIData:AddListenerOnGetElementShowReadingItem(LabControlAgent.OnGetElementShowReadingItem)
    self.UIData:AddListenerOnGetElementBrokenReason(LabControlAgent.OnGetElementBrokenReason)
    self.UIData:AddListenerOnGetElementReading(LabControlAgent.OnGetElementReading)
    
  • 鼠标点击事件

    self.UIData:AddListenerDoubleClickLabObj(LabControlAgent.OnDoubleClickLabObj)
    self.UIData:AddListenerOnClickUI(LabControlAgent.OnClickUICallBack)    
    self.InteractiveCommon:BindClickBlank("mastercontrol0", LabControlAgent.OnClickSceneEmpty)
    self.InteractiveCommon:BindDoubleClickBlank("mastercontrol0",LabControlAgent.OnDoubleClickSceneEmpty)
    
  • 观察相机相关回调

    self.UIData:AddListenerOnGetElementIsSupportObserveCamera(LabControlAgent.GetisSurvey)
    self.UIData:AddListenerOnGetObserveCameraObjectPath(LabControlAgent.GetCameraPath)
    self.UIData:AddListenerOnGetObserveCameraSize(LabControlAgent.GetCameraSize)
    self.UIData:AddListenerOnGetObserveCameraNear(LabControlAgent.GetCameraNear)
    self.UIData:AddListenerOnGetObserveCameraFar(LabControlAgent.GetCameraFar)
    self.UIData:AddListenerOnGetObserveCameraBackgroundColor(LabControlAgent.GetCameraColor)
    
  • 点击锁定按钮

    self.UIData:AddListenerOnLockButtonClick(LabControlAgent.OnLockButtonClick)