MCPcopy Create free account
hub / github.com/codrops/RainEffect / _applyOverwrite

Function _applyOverwrite

demo/js/index.js:10754–10807  ·  view source on GitHub ↗
(target, tween, props, mode, siblings)

Source from the content-addressed store, hash-verified

10752 return (r1 !== false && r2 !== false);
10753 },
10754 _applyOverwrite = function(target, tween, props, mode, siblings) {
10755 var i, changed, curTween, l;
10756 if (mode === 1 || mode >= 4) {
10757 l = siblings.length;
10758 for (i = 0; i < l; i++) {
10759 if ((curTween = siblings[i]) !== tween) {
10760 if (!curTween._gc) {
10761 if (curTween._kill(null, target, tween)) {
10762 changed = true;
10763 }
10764 }
10765 } else if (mode === 5) {
10766 break;
10767 }
10768 }
10769 return changed;
10770 }
10771 //NOTE: Add 0.0000000001 to overcome floating point errors that can cause the startTime to be VERY slightly off (when a tween's time() is set for example)
10772 var startTime = tween._startTime + _tinyNum,
10773 overlaps = [],
10774 oCount = 0,
10775 zeroDur = (tween._duration === 0),
10776 globalStart;
10777 i = siblings.length;
10778 while (--i > -1) {
10779 if ((curTween = siblings[i]) === tween || curTween._gc || curTween._paused) {
10780 //ignore
10781 } else if (curTween._timeline !== tween._timeline) {
10782 globalStart = globalStart || _checkOverlap(tween, 0, zeroDur);
10783 if (_checkOverlap(curTween, globalStart, zeroDur) === 0) {
10784 overlaps[oCount++] = curTween;
10785 }
10786 } else if (curTween._startTime <= startTime) if (curTween._startTime + curTween.totalDuration() / curTween._timeScale > startTime) if (!((zeroDur || !curTween._initted) && startTime - curTween._startTime <= 0.0000000002)) {
10787 overlaps[oCount++] = curTween;
10788 }
10789 }
10790
10791 i = oCount;
10792 while (--i > -1) {
10793 curTween = overlaps[i];
10794 if (mode === 2) if (curTween._kill(props, target, tween)) {
10795 changed = true;
10796 }
10797 if (mode !== 2 || (!curTween._firstPT && curTween._initted)) {
10798 if (mode !== 2 && !_onOverwrite(curTween, tween)) {
10799 continue;
10800 }
10801 if (curTween._enabled(false, false)) { //if all property tweens have been overwritten, kill the tween.
10802 changed = true;
10803 }
10804 }
10805 }
10806 return changed;
10807 },
10808 _checkOverlap = function(tween, reference, zeroDur) {
10809 var tl = tween._timeline,
10810 ts = tl._timeScale,

Callers 1

index.jsFile · 0.85

Calls 2

_checkOverlapFunction · 0.85
_onOverwriteFunction · 0.85

Tested by

no test coverage detected