OpenXRFutureExtension

Наследует: OpenXRExtensionWrapper < Object

Расширение OpenXR Future позволяет использовать асинхронные API.

Описание

Это расширение поддержки в OpenXR, которое позволяет другим расширениям OpenXR запускать асинхронные функции и получать обратный вызов после завершения этой функции. Оно не предназначено для использования в GDScript, но к нему можно получить доступ из GDExtension.

Методы

void

cancel_future(future: int)

bool

is_active() const

OpenXRFutureResult

register_future(future: int, on_success: Callable = Callable())


Описания метода

void cancel_future(future: int) 🔗

Отменяет выполняемое будущее. future должен быть значением XrFutureEXT, ранее возвращенным API, запустившим асинхронную функцию.


bool is_active() const 🔗

Возвращает true, если в используемой среде выполнения OpenXR доступны фьючерсы (futures). Эта функция вернет пригодный для использования результат только после инициализации OpenXR.


OpenXRFutureResult register_future(future: int, on_success: Callable = Callable()) 🔗

Зарегистрируйте объект OpenXR Future, чтобы мы могли отслеживать завершение. future должен быть значением XrFutureEXT, ранее возвращенным API, который запустил асинхронную функцию.

Вы можете дополнительно указать on_success, он будет вызван при успешном завершении future.

Или вы можете использовать возвращенный объект OpenXRFutureResult, чтобы await его сигнала OpenXRFutureResult.completed.

var future_result = OpenXRFutureExtension.register_future(future)
await future_result.completed
if future_result.get_status() == OpenXRFutureResult.RESULT_FINISHED:
    # Управляйте своим успехом
    pass