Extension Intercommunication#
Your extension can communicate with an instance of another loaded extension if they provide the proper mechanism. In this example, the controlling extension will set a flag in the helper extension to tell it to start its helping functionality, and whether it should run with or without a UI
Note
Also see Creating Custom Events in the Events section
Controlling Extension
import omni.docs.helper
class ControllerExtension(omni.ext.IExt):
def on_startup(self, ext_id):
helper_inst = omni.docs.helper.get_instance()
if helper_inst:
# tell helper to run headless (no ui)
helper_inst.b_headless = True
helper_inst.b_start_helping = True
Helper Extension
# give parent extension the ability to tell us
# to start helping and whether to run with or without UI
_extension_instance = None
def get_instance():
return _extension_instance
class HelperExtension(omni.ext.IExt):
def on_startup(self, ext_id):
global _extension_instance
_extension_instance = self