diff options
Diffstat (limited to 'scene/animation')
-rw-r--r-- | scene/animation/animation_mixer.cpp | 12 | ||||
-rw-r--r-- | scene/animation/animation_mixer.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/scene/animation/animation_mixer.cpp b/scene/animation/animation_mixer.cpp index b40c677f6e..3a2adead98 100644 --- a/scene/animation/animation_mixer.cpp +++ b/scene/animation/animation_mixer.cpp @@ -33,6 +33,8 @@ #include "core/config/engine.h" #include "core/config/project_settings.h" +#include "core/string/print_string.h" +#include "core/string/string_name.h" #include "scene/2d/audio_stream_player_2d.h" #include "scene/animation/animation_player.h" #include "scene/audio/audio_stream_player.h" @@ -267,6 +269,16 @@ bool AnimationMixer::has_animation_library(const StringName &p_name) const { return false; } +StringName AnimationMixer::get_animation_library_name(const Ref<AnimationLibrary> &p_animation_library) const { + ERR_FAIL_COND_V(p_animation_library.is_null(), StringName()); + for (const AnimationLibraryData &lib : animation_libraries) { + if (lib.library == p_animation_library) { + return lib.name; + } + } + return StringName(); +} + StringName AnimationMixer::find_animation_library(const Ref<Animation> &p_animation) const { for (const KeyValue<StringName, AnimationData> &E : animation_set) { if (E.value.animation == p_animation) { diff --git a/scene/animation/animation_mixer.h b/scene/animation/animation_mixer.h index 3769fa268c..822a7aef25 100644 --- a/scene/animation/animation_mixer.h +++ b/scene/animation/animation_mixer.h @@ -409,6 +409,7 @@ public: void get_animation_library_list(List<StringName> *p_animations) const; Ref<AnimationLibrary> get_animation_library(const StringName &p_name) const; bool has_animation_library(const StringName &p_name) const; + StringName get_animation_library_name(const Ref<AnimationLibrary> &p_animation_library) const; StringName find_animation_library(const Ref<Animation> &p_animation) const; Error add_animation_library(const StringName &p_name, const Ref<AnimationLibrary> &p_animation_library); void remove_animation_library(const StringName &p_name); |