mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-20 09:16:01 +08:00
[c][cpp] Port: Added TrackEntry#isNextReady() #2547
This commit is contained in:
parent
c0efb545bd
commit
f2d1a2104d
@ -150,6 +150,8 @@ SP_API void spTrackEntry_setMixDuration(spTrackEntry *entry, float mixDuration,
|
|||||||
|
|
||||||
SP_API int/*bool*/ spTrackEntry_wasApplied(spTrackEntry *entry);
|
SP_API int/*bool*/ spTrackEntry_wasApplied(spTrackEntry *entry);
|
||||||
|
|
||||||
|
SP_API int/*bool*/ spTrackEntry_isNextReady(spTrackEntry *entry);
|
||||||
|
|
||||||
SP_API void spAnimationState_clearNext(spAnimationState *self, spTrackEntry *entry);
|
SP_API void spAnimationState_clearNext(spAnimationState *self, spTrackEntry *entry);
|
||||||
|
|
||||||
/** Use this to dispose static memory before your app exits to appease your memory leak detector*/
|
/** Use this to dispose static memory before your app exits to appease your memory leak detector*/
|
||||||
|
|||||||
@ -1069,6 +1069,10 @@ int spTrackEntry_wasApplied(spTrackEntry *entry) {
|
|||||||
return entry->nextTrackLast != -1;
|
return entry->nextTrackLast != -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int spTrackEntry_isNextReady(spTrackEntry *entry) {
|
||||||
|
return entry->next != NULL && entry->nextTrackLast - entry->next->delay >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
void _spTrackEntry_computeHold(spTrackEntry *entry, spAnimationState *state) {
|
void _spTrackEntry_computeHold(spTrackEntry *entry, spAnimationState *state) {
|
||||||
spTrackEntry *to;
|
spTrackEntry *to;
|
||||||
spTimeline **timelines;
|
spTimeline **timelines;
|
||||||
|
|||||||
@ -1412,6 +1412,18 @@ float spine_track_entry_get_track_complete(spine_track_entry entry) {
|
|||||||
return _entry->getTrackComplete();
|
return _entry->getTrackComplete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
spine_bool spine_track_entry_was_applied(spine_track_entry entry) {
|
||||||
|
if (entry == nullptr) return false;
|
||||||
|
TrackEntry *_entry = (TrackEntry *) entry;
|
||||||
|
return _entry->wasApplied();
|
||||||
|
}
|
||||||
|
|
||||||
|
spine_bool spine_track_entry_is_next_ready(spine_track_entry entry) {
|
||||||
|
if (entry == nullptr) return false;
|
||||||
|
TrackEntry *_entry = (TrackEntry *) entry;
|
||||||
|
return _entry->isNextReady();
|
||||||
|
}
|
||||||
|
|
||||||
// Skeleton
|
// Skeleton
|
||||||
|
|
||||||
void spine_skeleton_update_cache(spine_skeleton skeleton) {
|
void spine_skeleton_update_cache(spine_skeleton skeleton) {
|
||||||
|
|||||||
@ -371,6 +371,8 @@ SPINE_CPP_LITE_EXPORT spine_track_entry spine_track_entry_get_mixing_from(spine_
|
|||||||
SPINE_CPP_LITE_EXPORT spine_track_entry spine_track_entry_get_mixing_to(spine_track_entry entry);
|
SPINE_CPP_LITE_EXPORT spine_track_entry spine_track_entry_get_mixing_to(spine_track_entry entry);
|
||||||
SPINE_CPP_LITE_EXPORT void spine_track_entry_reset_rotation_directions(spine_track_entry entry);
|
SPINE_CPP_LITE_EXPORT void spine_track_entry_reset_rotation_directions(spine_track_entry entry);
|
||||||
SPINE_CPP_LITE_EXPORT float spine_track_entry_get_track_complete(spine_track_entry entry);
|
SPINE_CPP_LITE_EXPORT float spine_track_entry_get_track_complete(spine_track_entry entry);
|
||||||
|
SPINE_CPP_LITE_EXPORT float spine_track_entry_was_applied(spine_track_entry entry);
|
||||||
|
SPINE_CPP_LITE_EXPORT float spine_track_entry_is_next_ready(spine_track_entry entry);
|
||||||
// OMITTED setListener()
|
// OMITTED setListener()
|
||||||
// OMITTED setListener()
|
// OMITTED setListener()
|
||||||
|
|
||||||
|
|||||||
@ -284,6 +284,12 @@ namespace spine {
|
|||||||
/// See AnimationState::apply(Skeleton).
|
/// See AnimationState::apply(Skeleton).
|
||||||
bool wasApplied();
|
bool wasApplied();
|
||||||
|
|
||||||
|
/// Returns true if there is a getNext() track entry that is ready to become the current track entry during the
|
||||||
|
/// next AnimationState::update(float)}
|
||||||
|
bool isNextReady () {
|
||||||
|
return _next != NULL && _nextTrackLast - _next->_delay >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Animation *_animation;
|
Animation *_animation;
|
||||||
TrackEntry *_previous;
|
TrackEntry *_previous;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user