public void OnAnimationRepeat(Animation animation) { Ring.StoreOriginals(); Ring.GoToNextColor(); Ring.StartTrim = Ring.EndTrim; if (mFinishing) { mFinishing = false; animation.Duration = ANIMATION_DURATION; Ring.SetShowArrow(false); } else { mRotationCount = (mRotationCount + 1) % (NUM_POINTS); } }
public void Start() { mAnimation.Reset(); mRing.StoreOriginals(); if (mRing.EndTrim != mRing.StartTrim) { mFinishing = true; mAnimation.Duration = ANIMATION_DURATION / 2; mAnimExcutor.StartAnimation(mAnimation); } else { mRing.SetColorIndex(0); mRing.ResetOriginals(); mAnimation.Duration = ANIMATION_DURATION; mAnimExcutor.StartAnimation(mAnimation); } }