@isFirstUpdateBackward = false if time > @props.endTime
if time < @prevTime and time <= @props.startTime
if !@isFirstUpdateBackward
@o.onFirstUpdateBackward?.apply(@); @isFirstUpdateBackward = true
if !@isOnReverseComplete
@isOnReverseComplete = true
@setProc(0); !@o.isChained and @onUpdate? @easedProgress
@o.onReverseComplete?.apply(@)
@prevTime = time
setProc:(p)-> @progress = p; @easedProgress = @props.easing @progress
setProp:(obj, value)->
if typeof obj is 'object'
for key, val of obj
@o[key] = val
else if typeof obj is 'string' then @o[obj] = value
@calcDimentions()
module.exports = Timeline
in the first repeat or without any repeats