mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-09 08:38:43 +08:00
[godot] Add SpineAnimationState::get_num_tracks, closes #2007
This commit is contained in:
parent
ef5152943c
commit
120254439b
@ -35,6 +35,7 @@ void SpineAnimationState::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("apply", "skeleton"), &SpineAnimationState::apply);
|
||||
ClassDB::bind_method(D_METHOD("clear_tracks"), &SpineAnimationState::clear_tracks);
|
||||
ClassDB::bind_method(D_METHOD("clear_track"), &SpineAnimationState::clear_track);
|
||||
ClassDB::bind_method(D_METHOD("get_num_tracks"), &SpineAnimationState::get_num_tracks);
|
||||
ClassDB::bind_method(D_METHOD("set_animation", "animation_name", "loop", "track_id"), &SpineAnimationState::set_animation, DEFVAL(true), DEFVAL(0));
|
||||
ClassDB::bind_method(D_METHOD("add_animation", "animation_name", "delay", "loop", "track_id"), &SpineAnimationState::add_animation, DEFVAL(0), DEFVAL(true), DEFVAL(0));
|
||||
ClassDB::bind_method(D_METHOD("set_empty_animation", "track_id", "mix_duration"), &SpineAnimationState::set_empty_animation);
|
||||
@ -83,6 +84,16 @@ void SpineAnimationState::clear_track(int track_id) {
|
||||
animation_state->clearTrack(track_id);
|
||||
}
|
||||
|
||||
int SpineAnimationState::get_num_tracks() {
|
||||
SPINE_CHECK(animation_state, 0)
|
||||
int highest_index = -1;
|
||||
for (int i = 0; i < animation_state->getTracks().size(); i++) {
|
||||
if (animation_state->getTracks()[i]) highest_index = i;
|
||||
}
|
||||
return highest_index + 1;
|
||||
}
|
||||
|
||||
|
||||
Ref<SpineTrackEntry> SpineAnimationState::set_animation(const String &animation_name, bool loop, int track) {
|
||||
SPINE_CHECK(animation_state, nullptr)
|
||||
auto skeleton_data = animation_state->getData()->getSkeletonData();
|
||||
|
||||
@ -60,6 +60,8 @@ public:
|
||||
|
||||
void clear_track(int track_id);
|
||||
|
||||
int get_num_tracks();
|
||||
|
||||
Ref<SpineTrackEntry> set_animation(const String &animation_name, bool loop, int track_id);
|
||||
|
||||
Ref<SpineTrackEntry> add_animation(const String &animation_name, float delay, bool loop, int track_id);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user