public void FlipLeft() { if (mAnimatingStatus > 0) { return; } mSelectIndex = (mSelectIndex + 1 + Count) % Count; mAnimatingStatus = AnimatingStatus.Left; for (int i = VisualChildCount - 1; i > 0; i--) { var lastItem = mItems[i - 1]; mItems[i].Flip(lastItem.CurrentPosition, lastItem.CurrentScale, lastItem.CurrentOpacity); } }
public void FlipRight() { if (mAnimatingStatus > 0) { return; } mSelectIndex = (mSelectIndex - 1 + Count) % Count; mAnimatingStatus = AnimatingStatus.Right; for (int i = 0; i < VisualChildCount - 1; i++) { var nextItem = mItems[i + 1]; mItems[i].Flip(nextItem.CurrentPosition, nextItem.CurrentScale, nextItem.CurrentOpacity); } }
public void Update(double delta) { if (mAnimatingStatus == AnimatingStatus.None) { return; } for (int i = 0; i < mItems.Length; i++) { mItems[i].Update(mTimer); } mTimer += delta; if (mTimer >= ANIMATION_DURATION) { mAnimatingStatus = AnimatingStatus.None; mTimer = 0; RefreshItems(); } }