private IEnumerator Appearing() { float _time = 0f; bool _customCurveSpeed = itemAnimationData.animationData.speedAppearing.curveTypeIndex == 0; bool _customCurveScale = itemAnimationData.animationData.scaleAppearing.curveTypeIndex == 0; CalculationEasing.Function _functionSpeed = CalculationEasing.GetEasingFunction(Ease.Linear); CalculationEasing.Function _functionScale = CalculationEasing.GetEasingFunction(Ease.Linear); if (_customCurveSpeed == false) { _functionSpeed = CalculationEasing.GetEasingFunction((Ease)itemAnimationData.animationData.speedAppearing.curveTypeIndex - 1); } if (_customCurveScale == false) { _functionScale = CalculationEasing.GetEasingFunction((Ease)itemAnimationData.animationData.scaleAppearing.curveTypeIndex - 1); } while (_time < itemAnimationData.animationData.delayAppearing) { if (itemAnimationData.animationData.speedAppearing.useCurve) { if (_customCurveSpeed) { transform.position = CalculateVectorInterpolationCustom(itemAnimationData.animationData.speedAppearing.curve, itemAnimationData.animationData.speedAppearing.reversed, fromPosition, toPosition, _time / itemAnimationData.animationData.delayAppearing); } else { transform.position = CalculateVectorInterpolation(_functionSpeed, itemAnimationData.animationData.speedAppearing.reversed, fromPosition, toPosition, _time / itemAnimationData.animationData.delayAppearing); } } if (itemAnimationData.animationData.scaleAppearing.useCurve) { if (_customCurveScale) { transform.localScale = CalculateVectorInterpolationCustom(itemAnimationData.animationData.scaleAppearing.curve, itemAnimationData.animationData.scaleAppearing.reversed, itemAnimationData.animationData.startScaleAppearing, itemAnimationData.animationData.endScaleAppearing, _time / itemAnimationData.animationData.delayAppearing); } else { transform.localScale = CalculateVectorInterpolation(_functionScale, itemAnimationData.animationData.scaleAppearing.reversed, itemAnimationData.animationData.startScaleAppearing, itemAnimationData.animationData.endScaleAppearing, _time / itemAnimationData.animationData.delayAppearing); } } _time += Time.deltaTime; yield return(new WaitForSeconds(Time.deltaTime)); } if (itemAnimationData.animationData.speedAppearing.useCurve) { rectTransform.position = toPosition; fromPosition = toPosition; } if (itemAnimationData.animationData.scaleAppearing.useCurve) { transform.localScale = itemAnimationData.animationData.endScaleAppearing; } ItemParticlesAnimator.Instance.OneItemAppearingCompleted(this); }
private IEnumerator Grouping() { float _time = 0; bool _customCurveSpeed = itemAnimationData.animationData.speedGrouping.curveTypeIndex == 0; bool _customCurveScale = itemAnimationData.animationData.scaleGrouping.curveTypeIndex == 0; CalculationEasing.Function _functionSpeed = CalculationEasing.GetEasingFunction((Ease)itemAnimationData.animationData.speedGrouping.curveTypeIndex - 1); CalculationEasing.Function _functionScale = CalculationEasing.GetEasingFunction((Ease)itemAnimationData.animationData.scaleGrouping.curveTypeIndex - 1); Vector3 _scaleStart = transform.localScale; Vector3 _position; while (_time < itemAnimationData.animationData.delayGrouping) { if (itemAnimationData.animationData.speedGrouping.useCurve) { if (_customCurveSpeed) { _position = CalculateVectorInterpolationCustom(itemAnimationData.animationData.speedGrouping.curve, itemAnimationData.animationData.speedGrouping.reversed, fromPosition, toPosition, _time / itemAnimationData.animationData.delayGrouping); } else { _position = CalculateVectorInterpolation(_functionSpeed, itemAnimationData.animationData.speedGrouping.reversed, fromPosition, toPosition, _time / itemAnimationData.animationData.delayGrouping); } transform.position = _position; } if (itemAnimationData.animationData.scaleGrouping.useCurve) { if (_customCurveScale) { transform.localScale = CalculateVectorInterpolationCustom(itemAnimationData.animationData.scaleGrouping.curve, itemAnimationData.animationData.scaleGrouping.reversed, _scaleStart, itemAnimationData.animationData.endScaleGrouping, _time / itemAnimationData.animationData.delayGrouping); } else { transform.localScale = CalculateVectorInterpolation(_functionScale, itemAnimationData.animationData.scaleGrouping.reversed, _scaleStart, itemAnimationData.animationData.endScaleGrouping, _time / itemAnimationData.animationData.delayGrouping); } } _time += Time.deltaTime; yield return(new WaitForSeconds(Time.deltaTime)); } if (itemAnimationData.animationData.speedGrouping.useCurve) { rectTransform.position = toPosition; fromPosition = toPosition; } if (itemAnimationData.animationData.scaleGrouping.useCurve) { transform.localScale = itemAnimationData.animationData.endScaleGrouping; } ItemParticlesAnimator.Instance.OneItemGroupingCompleted(this); //ItemParticlesAnimator.Instance.BecomeReady(this); }