void flipStop()
 {
     if (_flipCount > 0) _flipCount--;
     _flipingStatus = FlipingStatus.FLIPING_INVALID;
     _isAnimationProceeding = false;
 }
    void loopCheckFlip()
    {
        if (!_isAnimationProceeding)
        {
            _isAnimationProceeding = true;

            float degree = 180f;

            if (!_isFront)
            {
                _flipingStatus = FlipingStatus.FLIPING_FRONT;
                degree = 180f;
            }
            else
            {
                _flipingStatus = FlipingStatus.FLIPING_BACK;
                degree = 0;
            }

            _rotatedTransform.DORotate(new Vector3(0, degree, 0), 2.5f).
                SetEase(Ease.OutQuint).
                SetLoops(0).
                OnStart(flipStart).
                OnUpdate(flipUpdate).
                OnComplete(flipStop);
        }
    }
 void Awake()
 {
     _flipCount = 0;
     _flipingStatus = FlipingStatus.FLIPING_INVALID;
     _rotatedTransform = this.transform.FindChild("flippedObject");
 }