@@ -56,6 +56,9 @@ void OpenXRAPIExtension::_bind_methods() {
5656 ClassDB::bind_method (D_METHOD (" get_next_frame_time" ), &OpenXRAPIExtension::get_next_frame_time);
5757 ClassDB::bind_method (D_METHOD (" can_render" ), &OpenXRAPIExtension::can_render);
5858
59+ ClassDB::bind_method (D_METHOD (" find_action" , " name" , " action_set" ), &OpenXRAPIExtension::find_action);
60+ ClassDB::bind_method (D_METHOD (" action_get_handle" , " action" ), &OpenXRAPIExtension::action_get_handle);
61+
5962 ClassDB::bind_method (D_METHOD (" get_hand_tracker" , " hand_index" ), &OpenXRAPIExtension::get_hand_tracker);
6063
6164 ClassDB::bind_method (D_METHOD (" register_composition_layer_provider" , " extension" ), &OpenXRAPIExtension::register_composition_layer_provider);
@@ -197,6 +200,17 @@ bool OpenXRAPIExtension::can_render() {
197200 return OpenXRAPI::get_singleton ()->can_render ();
198201}
199202
203+ RID OpenXRAPIExtension::find_action (const String &p_name, const RID &p_action_set) {
204+ ERR_FAIL_NULL_V (OpenXRAPI::get_singleton (), RID ());
205+ return OpenXRAPI::get_singleton ()->find_action (p_name, p_action_set);
206+ }
207+
208+ uint64_t OpenXRAPIExtension::action_get_handle (RID p_action) {
209+ ERR_FAIL_NULL_V (OpenXRAPI::get_singleton (), 0 );
210+ XrAction action_hanlde = OpenXRAPI::get_singleton ()->action_get_handle (p_action);
211+ return reinterpret_cast <uint64_t >(action_hanlde);
212+ }
213+
200214uint64_t OpenXRAPIExtension::get_hand_tracker (int p_hand_index) {
201215 ERR_FAIL_NULL_V (OpenXRAPI::get_singleton (), 0 );
202216 return (uint64_t )OpenXRAPI::get_singleton ()->get_hand_tracker (p_hand_index);
0 commit comments