diff options
Diffstat (limited to 'modules/openxr/action_map/openxr_interaction_profile_metadata.cpp')
-rw-r--r-- | modules/openxr/action_map/openxr_interaction_profile_metadata.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/openxr/action_map/openxr_interaction_profile_metadata.cpp b/modules/openxr/action_map/openxr_interaction_profile_metadata.cpp index 9f0198dfc4..df607b0def 100644 --- a/modules/openxr/action_map/openxr_interaction_profile_metadata.cpp +++ b/modules/openxr/action_map/openxr_interaction_profile_metadata.cpp @@ -46,11 +46,26 @@ OpenXRInteractionProfileMetadata::~OpenXRInteractionProfileMetadata() { } void OpenXRInteractionProfileMetadata::_bind_methods() { + ClassDB::bind_method(D_METHOD("register_profile_rename", "old_name", "new_name"), &OpenXRInteractionProfileMetadata::register_profile_rename); ClassDB::bind_method(D_METHOD("register_top_level_path", "display_name", "openxr_path", "openxr_extension_name"), &OpenXRInteractionProfileMetadata::register_top_level_path); ClassDB::bind_method(D_METHOD("register_interaction_profile", "display_name", "openxr_path", "openxr_extension_name"), &OpenXRInteractionProfileMetadata::register_interaction_profile); ClassDB::bind_method(D_METHOD("register_io_path", "interaction_profile", "display_name", "toplevel_path", "openxr_path", "openxr_extension_name", "action_type"), &OpenXRInteractionProfileMetadata::register_io_path); } +void OpenXRInteractionProfileMetadata::register_profile_rename(const String &p_old_name, const String &p_new_name) { + ERR_FAIL_COND(profile_renames.has(p_old_name)); + + profile_renames[p_old_name] = p_new_name; +} + +String OpenXRInteractionProfileMetadata::check_profile_name(const String &p_name) const { + if (profile_renames.has(p_name)) { + return profile_renames[p_name]; + } + + return p_name; +} + void OpenXRInteractionProfileMetadata::register_top_level_path(const String &p_display_name, const String &p_openxr_path, const String &p_openxr_extension_name) { ERR_FAIL_COND_MSG(has_top_level_path(p_openxr_path), p_openxr_path + " had already been registered"); |