|
@@ -59,7 +59,7 @@ TrackEntry::TrackEntry() : _animation(NULL), _next(NULL), _mixingFrom(NULL), _mi
|
|
|
_animationEnd(0), _animationLast(0), _nextAnimationLast(0), _delay(0), _trackTime(0),
|
|
|
_trackLast(0), _nextTrackLast(0), _trackEnd(0), _timeScale(1.0f), _alpha(0), _mixTime(0),
|
|
|
_mixDuration(0), _interruptAlpha(0), _totalAlpha(0), _mixBlend(MixBlend_Replace),
|
|
|
- _listener(dummyOnAnimationEventFunc), _listenerObj(NULL) {
|
|
|
+ _listener(dummyOnAnimationEventFunc), _listenerObject(NULL) {
|
|
|
}
|
|
|
|
|
|
TrackEntry::~TrackEntry() { }
|
|
@@ -164,12 +164,12 @@ void TrackEntry::resetRotationDirections() {
|
|
|
|
|
|
void TrackEntry::setListener(AnimationStateListener inValue) {
|
|
|
_listener = inValue;
|
|
|
- _listenerObj = NULL;
|
|
|
+ _listenerObject = NULL;
|
|
|
}
|
|
|
|
|
|
-void TrackEntry::setListener(AnimationStateListenerClass* inValue) {
|
|
|
+void TrackEntry::setListener(AnimationStateListenerObject* inValue) {
|
|
|
_listener = dummyOnAnimationEventFunc;
|
|
|
- _listenerObj = inValue;
|
|
|
+ _listenerObject = inValue;
|
|
|
}
|
|
|
|
|
|
void TrackEntry::reset() {
|
|
@@ -185,7 +185,7 @@ void TrackEntry::reset() {
|
|
|
_timelinesRotation.clear();
|
|
|
|
|
|
_listener = dummyOnAnimationEventFunc;
|
|
|
- _listenerObj = NULL;
|
|
|
+ _listenerObject = NULL;
|
|
|
}
|
|
|
|
|
|
EventQueueEntry::EventQueueEntry(EventType eventType, TrackEntry *trackEntry, Event *event) :
|
|
@@ -255,48 +255,32 @@ void EventQueue::drain() {
|
|
|
case EventType_Start:
|
|
|
case EventType_Interrupt:
|
|
|
case EventType_Complete:
|
|
|
- if (NULL == trackEntry->_listenerObj)
|
|
|
- trackEntry->_listener(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
- else
|
|
|
- trackEntry->_listenerObj->callback(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
- if (NULL == state._listenerObj)
|
|
|
- state._listener(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
- else
|
|
|
- state._listenerObj->callback(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
+ if (!trackEntry->_listenerObject) trackEntry->_listener(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
+ else trackEntry->_listenerObject->callback(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
+ if(!state._listenerObject) state._listener(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
+ else state._listenerObject->callback(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
break;
|
|
|
case EventType_End:
|
|
|
- if (NULL == trackEntry->_listenerObj)
|
|
|
- trackEntry->_listener(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
- else
|
|
|
- trackEntry->_listenerObj->callback(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
- if (NULL == state._listenerObj)
|
|
|
- state._listener(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
- else
|
|
|
- state._listenerObj->callback(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
+ if (!trackEntry->_listenerObject) trackEntry->_listener(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
+ else trackEntry->_listenerObject->callback(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
+ if (!state._listenerObject) state._listener(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
+ else state._listenerObject->callback(&state, queueEntry->_type, trackEntry, NULL);
|
|
|
/* Yes, we want to fall through here */
|
|
|
case EventType_Dispose:
|
|
|
|
|
|
- if (NULL == trackEntry->_listenerObj)
|
|
|
- trackEntry->_listener(&state, EventType_Dispose, trackEntry, NULL);
|
|
|
- else
|
|
|
- trackEntry->_listenerObj->callback(&state, EventType_Dispose, trackEntry, NULL);
|
|
|
- if (NULL == state._listenerObj)
|
|
|
- state._listener(&state, EventType_Dispose, trackEntry, NULL);
|
|
|
- else
|
|
|
- state._listenerObj->callback(&state, EventType_Dispose, trackEntry, NULL);
|
|
|
+ if (!trackEntry->_listenerObject) trackEntry->_listener(&state, EventType_Dispose, trackEntry, NULL);
|
|
|
+ else trackEntry->_listenerObject->callback(&state, EventType_Dispose, trackEntry, NULL);
|
|
|
+ if (!state._listenerObject) state._listener(&state, EventType_Dispose, trackEntry, NULL);
|
|
|
+ else state._listenerObject->callback(&state, EventType_Dispose, trackEntry, NULL);
|
|
|
|
|
|
trackEntry->reset();
|
|
|
_trackEntryPool.free(trackEntry);
|
|
|
break;
|
|
|
case EventType_Event:
|
|
|
- if (NULL == trackEntry->_listenerObj)
|
|
|
- trackEntry->_listener(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
|
|
- else
|
|
|
- trackEntry->_listenerObj->callback(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
|
|
- if (NULL == state._listenerObj)
|
|
|
- state._listener(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
|
|
- else
|
|
|
- state._listenerObj->callback(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
|
|
+ if (!trackEntry->_listenerObject) trackEntry->_listener(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
|
|
+ else trackEntry->_listenerObject->callback(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
|
|
+ if (!state._listenerObject) state._listener(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
|
|
+ else state._listenerObject->callback(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -316,7 +300,7 @@ AnimationState::AnimationState(AnimationStateData *data) :
|
|
|
_queue(EventQueue::newEventQueue(*this, _trackEntryPool)),
|
|
|
_animationsChanged(false),
|
|
|
_listener(dummyOnAnimationEventFunc),
|
|
|
- _listenerObj(NULL),
|
|
|
+ _listenerObject(NULL),
|
|
|
_timeScale(1) {
|
|
|
}
|
|
|
|
|
@@ -652,12 +636,12 @@ void AnimationState::setTimeScale(float inValue) {
|
|
|
|
|
|
void AnimationState::setListener(AnimationStateListener inValue) {
|
|
|
_listener = inValue;
|
|
|
- _listenerObj = NULL;
|
|
|
+ _listenerObject = NULL;
|
|
|
}
|
|
|
|
|
|
-void AnimationState::setListener(AnimationStateListenerClass* inValue) {
|
|
|
+void AnimationState::setListener(AnimationStateListenerObject* inValue) {
|
|
|
_listener = dummyOnAnimationEventFunc;
|
|
|
- _listenerObj = inValue;
|
|
|
+ _listenerObject = inValue;
|
|
|
}
|
|
|
|
|
|
void AnimationState::disableQueue() {
|