private static bool ExecQueue(long thisTime, bool checkTime) { if (CLAnim.anims == null) { return(false); } CLAnim anim = CLAnim.anims; while (anim != null) { if (CLAnim.anims == anim || anim.parallel) { if ( #if __ANDROID__ //let's keep that for Android only for now since only Android devices have reported that anim.execute != null && #endif anim.execute(thisTime, checkTime)) { CLAnim.RemoveAnim(anim); } } anim = anim.next; } if (CLAnim.anims == null) { return(false); } return(true); }
public static void AddToTop(CLAnim animAdd, bool nextParallel = false) { animAdd.next = CLAnim.anims; CLAnim.anims = animAdd; if (nextParallel && CLAnim.anims.next != null) { CLAnim.anims.next.parallel = true; } }
public static void AddToQueue(CLAnim animAdd, bool parallel = false) { animAdd.parallel = parallel; if (CLAnim.anims == null) { CLAnim.anims = animAdd; return; } CLAnim anim = CLAnim.anims; while (anim.next != null) { anim = anim.next; } anim.next = animAdd; }
private static void RemoveAnim(CLAnim animRemove) { CLAnim anim = CLAnim.anims, animPrev = null; for (; anim != null && anim != animRemove; animPrev = anim, anim = anim.next) { ; } if (anim == null) { return; } if (animPrev != null) { animPrev.next = anim.next; } else { CLAnim.anims = anim.next; } }
public static bool ExecQueue(long thisTime) { return(CLAnim.ExecQueue(thisTime, false)); }
public static bool CheckTimes(long thisTime) { return(CLAnim.ExecQueue(thisTime, true)); }