46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
|
|
# All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
import omni.ext
|
|
|
|
|
|
# Functions and vars are available to other extension as usual in python: `example.python_ext.some_public_function(x)`
|
|
def some_public_function(x: int):
|
|
print("[mindbot] some_public_function was called with x: ", x)
|
|
return x**x
|
|
|
|
|
|
# Any class derived from `omni.ext.IExt` in top level module (defined in `python.modules` of `extension.toml`) will be
|
|
# instantiated when extension gets enabled and `on_startup(ext_id)` will be called. Later when extension gets disabled
|
|
# on_shutdown() is called.
|
|
class ExampleExtension(omni.ext.IExt):
|
|
# ext_id is current extension id. It can be used with extension manager to query additional information, like where
|
|
# this extension is located on filesystem.
|
|
def on_startup(self, ext_id):
|
|
print("[mindbot] startup")
|
|
|
|
self._count = 0
|
|
|
|
self._window = omni.ui.Window("My Window", width=300, height=300)
|
|
with self._window.frame:
|
|
with omni.ui.VStack():
|
|
label = omni.ui.Label("")
|
|
|
|
def on_click():
|
|
self._count += 1
|
|
label.text = f"count: {self._count}"
|
|
|
|
def on_reset():
|
|
self._count = 0
|
|
label.text = "empty"
|
|
|
|
on_reset()
|
|
|
|
with omni.ui.HStack():
|
|
omni.ui.Button("Add", clicked_fn=on_click)
|
|
omni.ui.Button("Reset", clicked_fn=on_reset)
|
|
|
|
def on_shutdown(self):
|
|
print("[mindbot] shutdown") |