protected virtual void OnInit() { animType = ViewAnimType.None; }
protected void runAnimTween(ViewAnimType animType, bool revert, UIAnimResult result) { if (null != mAnimTween && mAnimTween.IsActive()) { mAnimTween.Kill(); mAnimTween = null; } switch (animType) { case ViewAnimType.none: result(true); break; case ViewAnimType.moveUp: if (!revert) { float posY = mRectTransform.localPosition.y; mAnimTween = mRectTransform.DOLocalMoveY(posY - AnimValue, AnimTime).SetEase(AnimEase).OnComplete(() => result(true)); } else { mAnimTween = mRectTransform.DOLocalMoveY(-AnimValue, AnimTime).From(true).SetEase(AnimEase).OnComplete(() => result(true)); } break; case ViewAnimType.moveDown: if (!revert) { float posY = mRectTransform.localPosition.y; mAnimTween = mRectTransform.DOLocalMoveY(posY + AnimValue, AnimTime).SetEase(AnimEase).OnComplete(() => result(true)); } else { mAnimTween = mRectTransform.DOLocalMoveY(AnimValue, AnimTime).From(true).SetEase(AnimEase).OnComplete(() => result(true)); } break; case ViewAnimType.move2Left: if (!revert) { float posX = mRectTransform.localPosition.x; mAnimTween = mRectTransform.DOLocalMoveX(posX + AnimValue, AnimTime).OnComplete(() => result(true)); } else { mAnimTween = mRectTransform.DOLocalMoveX(AnimValue, AnimTime).From(true).OnComplete(() => result(true)); } break; case ViewAnimType.move2Right: if (!revert) { float posX = mRectTransform.localPosition.x; mAnimTween = mRectTransform.DOLocalMoveX(posX - AnimValue, AnimTime).OnComplete(() => result(true)); } else { mAnimTween = mRectTransform.DOLocalMoveX(-AnimValue, AnimTime).From(true).OnComplete(() => result(true)); } break; case ViewAnimType.zoom: if (!revert) { mAnimTween = transform.DOScale(0f, AnimTime).OnComplete(() => result(true)); } else { transform.localScale = Vector3.zero; mAnimTween = transform.DOScale(AnimValue, AnimTime).OnComplete(() => result(true)); } break; } }
protected void runAnimTween(ViewAnimType animType, bool isShow, UIAnimResult result) { if (null != mAnimTween && mAnimTween.IsActive()) { mAnimTween.Kill(); mAnimTween = null; } if (!_animNeeded(isShow)) { result(true); return; } float value = _getAnimValue(); switch (animType) { //case ViewAnimType.none : //result(true); //break; case ViewAnimType.moveUp: if (!isShow) { float posY = mRectTransform.localPosition.y; mAnimTween = mRectTransform.DOLocalMoveY(posY - value, AnimTime).SetEase(AnimEase).OnComplete(() => result(true)); } else { mAnimTween = mRectTransform.DOLocalMoveY(-value, AnimTime).From(true).SetEase(AnimEase).OnComplete(() => result(true)); } break; case ViewAnimType.moveDown: if (!isShow) { float posY = mRectTransform.localPosition.y; mAnimTween = mRectTransform.DOLocalMoveY(posY + value, AnimTime).SetEase(AnimEase).OnComplete(() => result(true)); } else { mAnimTween = mRectTransform.DOLocalMoveY(value, AnimTime).From(true).SetEase(AnimEase).OnComplete(() => result(true)); } break; case ViewAnimType.move2Left: if (!isShow) { float posX = mRectTransform.localPosition.x; mAnimTween = mRectTransform.DOLocalMoveX(posX + value, AnimTime).OnComplete(() => result(true)); } else { mAnimTween = mRectTransform.DOLocalMoveX(value, AnimTime).From(true).OnComplete(() => result(true)); } break; case ViewAnimType.move2Right: if (!isShow) { float posX = mRectTransform.localPosition.x; mAnimTween = mRectTransform.DOLocalMoveX(posX - value, AnimTime).OnComplete(() => result(true)); } else { mAnimTween = mRectTransform.DOLocalMoveX(-value, AnimTime).From(true).OnComplete(() => result(true)); } break; case ViewAnimType.zoom: if (!isShow) { mAnimTween = transform.DOScale(0f, AnimTime).OnComplete(() => result(true)); } else { transform.localScale = Vector3.zero; mAnimTween = transform.DOScale(value, AnimTime).OnComplete(() => result(true)); } break; } }