Exemple #1
0
 private void AlphaFadeIn(float tweenDelay, float tweenTime, EaseAnim ease, Action completeCallBack)
 {
     fObjectR.SetAlpha(0f);
     SimpleTween.Value(gameObject, 0f, 1.0f, tweenTime).SetEase(EaseAnim.EaseInCirc).SetOnUpdate((float val) => { fObjectR.SetAlphaK(val); }).
     SetDelay(tweenDelay).SetEase(ease).
     AddCompleteCallBack(() =>
     {
         completeCallBack?.Invoke();
         completeCallback_in?.Invoke();
     });
 }
Exemple #2
0
 private void AlphaFadeOut(float tweenDelay, float tweenTime, EaseAnim ease, Action completeCallBack)
 {
     fObjectR.SetActive(true);
     SimpleTween.Value(gameObject, 1.0f, 0.0f, tweenTime).SetEase(EaseAnim.EaseInCirc).SetOnUpdate((float val) => { fObjectR.SetAlphaK(val); }).
     SetDelay(tweenDelay).SetEase(ease).
     AddCompleteCallBack(() =>
     {
         fObjectR.SetActive(false);
         if (guiMask)
         {
             guiMask.gameObject.SetActive(false);
         }
         completeCallBack?.Invoke();
         completeCallback_out?.Invoke();
     });
 }
Exemple #3
0
        private void SimpleMoveAlongPath(float delay, EaseAnim easeAnim, Action completeCallBack)
        {
            if (path == null || path.Count == 0)
            {
                //   Debug.Log("move start return");
                if (completeCallBack != null)
                {
                    completeCallBack();
                }
                return;
            }

            //  Debug.Log("move start");
            pathPoints    = new Vector2[path.Count + 1];
            pathPoints[0] = transform.localPosition;
            for (int i = 1; i < pathPoints.Length; i++)
            {
                pathPoints[i] = path[i - 1].gCell.transform.localPosition;
            }

            moving = true;
            PolyLine plPath    = new PolyLine(pathPoints);
            float    time      = plPath.Length / speed;
            int      segNumber = 0;

            tweenID = SimpleTween.Value(gameObject, 0, plPath.Length, time).
                      SetOnUpdate((float d) =>
            {
                if (this)
                {
                    gameObject.transform.localPosition = plPath.GetPolyLinePosition(d, out segNumber);
                    if (path != null && segNumber < path.Count)
                    {
                        anchored = path[segNumber].gCell;
                    }
                }
            }).SetEase(easeAnim).SetDelay(delay).
                      AddCompleteCallBack(() =>
            {
                // Debug.Log("tween complete callback");
                moving = false;
                if (completeCallBack != null)
                {
                    completeCallBack();
                }
            }).ID;
        }
Exemple #4
0
        private void ScaleOut(float tweenDelay, float tweenTime, EaseAnim ease, Action completeCallBack)
        {
            if (!guiPanel)
            {
                completeCallBack?.Invoke();
                completeCallback_in?.Invoke();
                return;
            }

            RectTransform mainRT = GetComponent <RectTransform>();

            Vector3[] vC = new Vector3[4];
            mainRT.GetWorldCorners(vC);

            Vector3[] vC1 = new Vector3[4];
            guiPanel.GetWorldCorners(vC1);
            float height = (vC1[2] - vC1[0]).y;
            float width  = (vC1[2] - vC1[0]).x;

            Vector3 pos   = guiPanel.position;
            Vector3 pos1  = pos;
            float   fTime = winOptions.outScaleAnim.time;

            Vector3 locScale   = guiPanel.localScale;
            Vector3 startScale = guiPanel.localScale;

            switch (winOptions.outScaleAnim.scaleType)
            {
            case ScaleType.CenterXY:
                locScale = new Vector3(0, 0, 0);
                break;

            case ScaleType.CenterX:
                locScale = new Vector3(locScale.x, 0, 0);
                break;

            case ScaleType.CenterY:
                locScale = new Vector3(0, locScale.y, 0);
                break;

            case ScaleType.Top:
                locScale = new Vector3(locScale.x, 0, 0);
                break;

            case ScaleType.Bottom:
                locScale = new Vector3(locScale.x, 0, 0);
                break;

            case ScaleType.Left:
                locScale = new Vector3(0, locScale.y, 0);
                break;

            case ScaleType.Right:
                locScale = new Vector3(0, locScale.y, 0);
                break;
            }
            float posY = guiPanel.position.y;
            float posX = guiPanel.position.x;
            float posZ = guiPanel.position.z;

            SimpleTween.Value(gameObject, startScale, locScale, fTime).SetOnUpdate((val) =>
            {
                if (winOptions.outScaleAnim.scaleType == ScaleType.Top)
                {
                    if (guiPanel)
                    {
                        guiPanel.position = new Vector3(posX, posY + height / 2.0f * (startScale.y - val.y), pos.z);
                    }
                }
                else if (winOptions.outScaleAnim.scaleType == ScaleType.Bottom)
                {
                    if (guiPanel)
                    {
                        guiPanel.position = new Vector3(posX, posY - height / 2.0f * (startScale.y - val.y), pos.z);
                    }
                }
                else if (winOptions.outScaleAnim.scaleType == ScaleType.Left)
                {
                    if (guiPanel)
                    {
                        guiPanel.position = new Vector3(posX - width / 2.0f * (startScale.x - val.x), posY, pos.z);
                    }
                }
                else if (winOptions.outScaleAnim.scaleType == ScaleType.Right)
                {
                    if (guiPanel)
                    {
                        guiPanel.position = new Vector3(posX + width / 2.0f * (startScale.x - val.x), posY, pos.z);
                    }
                }
                if (guiPanel)
                {
                    guiPanel.localScale = val;
                }
            }).SetDelay(tweenDelay).SetEase(ease).
            AddCompleteCallBack(() =>
            {
                if (guiPanel)
                {
                    guiPanel.gameObject.SetActive(false);
                }
                if (backGround)
                {
                    backGround.gameObject.SetActive(false);
                }
                if (guiMask)
                {
                    guiMask.gameObject.SetActive(false);
                }
                completeCallBack?.Invoke();
                completeCallback_out?.Invoke();
            });
        }
Exemple #5
0
        private void ScaleIn(float tweenDelay, float tweenTime, EaseAnim ease, Action completeCallBack)
        {
            if (!guiPanel)
            {
                completeCallBack?.Invoke();
                completeCallback_in?.Invoke();
                return;
            }

            RectTransform mainRT = GetComponent <RectTransform>();

            Vector3[] wC = new Vector3[4];
            mainRT.GetWorldCorners(wC);

            Vector3[] wC1 = new Vector3[4];
            guiPanel.GetWorldCorners(wC1);

            float height = (wC1[2] - wC1[0]).y;
            float width  = (wC1[2] - wC1[0]).x;

            float fTime = winOptions.inScaleAnim.time;

            Vector3 scaleTo = guiPanel.localScale;
            Vector3 scale   = scaleTo;

            switch (winOptions.inScaleAnim.scaleType)
            {
            case ScaleType.CenterXY:
                scale = new Vector3(0, 0, 0);
                break;

            case ScaleType.CenterX:
                scale = new Vector3(scaleTo.x, 0, 0);
                break;

            case ScaleType.CenterY:
                scale = new Vector3(0, scaleTo.y, 0);
                break;

            case ScaleType.Top:
                guiPanel.position = guiPanel.position + new Vector3(0, height / 2f, 0);
                scale             = new Vector3(scaleTo.x, 0, 0);
                break;

            case ScaleType.Bottom:
                guiPanel.position = guiPanel.position - new Vector3(0, height / 2f, 0);
                scale             = new Vector3(scaleTo.x, 0, 0);
                break;

            case ScaleType.Left:
                guiPanel.position = guiPanel.position - new Vector3(width / 2f, 0, 0);
                scale             = new Vector3(0, scaleTo.y, 0);
                break;

            case ScaleType.Right:
                guiPanel.position = guiPanel.position + new Vector3(width / 2f, 0, 0);
                scale             = new Vector3(0, scaleTo.y, 0);
                break;
            }

            float posY = guiPanel.position.y;
            float posX = guiPanel.position.x;
            float posZ = guiPanel.position.z;

            SimpleTween.Value(gameObject, scale, scaleTo, fTime).SetOnUpdate((val) =>
            {
                guiPanel.localScale = val;
                if (winOptions.inScaleAnim.scaleType == ScaleType.Top)
                {
                    if (guiPanel)
                    {
                        guiPanel.position = new Vector3(posX, posY - height / 2.0f * val.y, guiPanel.position.z);
                    }
                }
                else if (winOptions.inScaleAnim.scaleType == ScaleType.Bottom)
                {
                    if (guiPanel)
                    {
                        guiPanel.position = new Vector3(posX, posY + height / 2.0f * val.y, posZ);
                    }
                }
                else if (winOptions.inScaleAnim.scaleType == ScaleType.Left)
                {
                    if (guiPanel)
                    {
                        guiPanel.position = new Vector3(posX + width / 2.0f * val.x, posY, posZ);
                    }
                }
                else if (winOptions.inScaleAnim.scaleType == ScaleType.Right)
                {
                    if (guiPanel)
                    {
                        guiPanel.position = new Vector3(posX - width / 2.0f * val.x, posY, posZ);
                    }
                }
            }).SetDelay(tweenDelay).SetEase(ease).
            AddCompleteCallBack(() =>
            {
                completeCallBack?.Invoke();
                completeCallback_in?.Invoke();
            });
        }
Exemple #6
0
        private void MoveOut(float tweenDelay, float tweenTime, EaseAnim ease, Action completeCallBack)
        {
            if (!guiPanel)
            {
                completeCallBack?.Invoke();
                completeCallback_out?.Invoke();
                return;
            }
            RectTransform mainRT = GetComponent <RectTransform>();

            Vector3[] wC = new Vector3[4];
            mainRT.GetWorldCorners(wC);

            Vector3[] wC1 = new Vector3[4];
            guiPanel.GetWorldCorners(wC1);

            float height = (wC1[2] - wC1[0]).y;
            float width  = (wC1[2] - wC1[0]).x;

            Vector3 pos   = guiPanel.position;
            Vector3 posTo = pos;
            float   fTime = winOptions.outMoveAnim.time;

            //   guiPanel.pivot = new Vector2(0.5f, 0.5f);

            switch (winOptions.outMoveAnim.toPosition)
            {
            case Position.LeftMiddleOut:
                posTo = new Vector3(wC[0].x - width / 2f, (wC[0].y + wC[2].y) / 2f, pos.z);
                break;

            case Position.RightMiddleOut:
                posTo = new Vector3(wC[2].x + width / 2f, (wC[0].y + wC[2].y) / 2f, pos.z);
                break;

            case Position.MiddleBottomOut:
                posTo = new Vector3((wC[0].x + wC[2].x) / 2f, wC[0].y - height / 2f, pos.z);
                break;

            case Position.MiddleTopOut:
                posTo = new Vector3((wC[0].x + wC[2].x) / 2f, wC[2].y + height / 2f, pos.z);
                break;

            case Position.LeftMiddleIn:
                posTo = new Vector3(wC[0].x + width / 2f, (wC[0].y + wC[2].y) / 2f, pos.z);
                break;

            case Position.RightMiddleIn:
                posTo = new Vector3(wC[2].x - width / 2f, (wC[0].y + wC[2].y) / 2f, pos.z);
                break;

            case Position.MiddleBottomIn:
                posTo = new Vector3((wC[0].x + wC[2].x) / 2f, wC[0].y + height / 2f, pos.z);
                break;

            case Position.MiddleTopIn:
                posTo = new Vector3((wC[0].x + wC[2].x) / 2f, wC[2].y - height / 2f, pos.z);
                break;

            case Position.CustomPosition:
                posTo = winOptions.inMoveAnim.customPosition;
                break;

            case Position.AsIs:
                posTo = startPosition;
                break;

            case Position.Center:
                posTo = new Vector3((wC[0].x + wC[2].x) / 2f, (wC[0].y + wC[2].y) / 2f, pos.z);
                break;
            }
            SimpleTween.Value(gameObject, pos, posTo, fTime).SetOnUpdate((val) =>
            {
                if (guiPanel)
                {
                    guiPanel.position = val;
                    //  Debug.Log("moveout guiPanel.position :" + guiPanel.position);
                }
            }).SetDelay(tweenDelay).SetEase(ease).
            AddCompleteCallBack(() =>
            {
                if (guiPanel)
                {
                    guiPanel.gameObject.SetActive(false);
                }
                if (backGround)
                {
                    backGround.gameObject.SetActive(false);
                }
                if (guiMask)
                {
                    guiMask.gameObject.SetActive(false);
                }
                completeCallBack?.Invoke();
                completeCallback_out?.Invoke();
            });
        }
Exemple #7
0
            public SimpleTweenObject SetEase(EaseAnim ease)
            {
                easeAnim = ease;
                switch (ease)
                {
                case EaseAnim.EaseInSine:
                    EaseFunc = EaseInSine;
                    break;

                case EaseAnim.EaseOutSine:
                    EaseFunc = EaseOutSine;
                    break;

                case EaseAnim.EaseInOutSine:
                    EaseFunc = EaseInOutSine;
                    break;

                case EaseAnim.EaseInQuad:
                    EaseFunc = EaseInQuad;
                    break;

                case EaseAnim.EaseOutQuad:
                    EaseFunc = EaseOutQuad;
                    break;

                case EaseAnim.EaseInOutQuad:
                    EaseFunc = EaseInOutQuad;
                    break;

                case EaseAnim.EaseInCubic:
                    EaseFunc = EaseInCubic;
                    break;

                case EaseAnim.EaseOutCubic:
                    EaseFunc = EaseOutCubic;
                    break;

                case EaseAnim.EaseInOutCubic:
                    EaseFunc = EaseInOutCubic;
                    break;

                case EaseAnim.EaseInQuart:
                    EaseFunc = EaseInQuart;
                    break;

                case EaseAnim.EaseOutQuart:
                    EaseFunc = EaseOutQuart;
                    break;

                case EaseAnim.EaseInOutQuart:
                    EaseFunc = EaseInOutQuart;
                    break;

                case EaseAnim.EaseInQuint:
                    EaseFunc = EaseInQuint;
                    break;

                case EaseAnim.EaseOutQuint:
                    EaseFunc = EaseOutQuint;
                    break;

                case EaseAnim.EaseInOutQuint:
                    EaseFunc = EaseInOutQuint;
                    break;

                case EaseAnim.EaseInExpo:
                    EaseFunc = EaseInExpo;
                    break;

                case EaseAnim.EaseOutExpo:
                    EaseFunc = EaseOutExpo;
                    break;

                case EaseAnim.EaseInOutExpo:
                    EaseFunc = EaseInOutExpo;
                    break;

                case EaseAnim.EaseInCirc:
                    EaseFunc = EaseInCirc;
                    break;

                case EaseAnim.EaseOutCirc:
                    EaseFunc = EaseOutCirc;
                    break;

                case EaseAnim.EaseInOutCirc:
                    EaseFunc = EaseInOutCirc;
                    break;

                case EaseAnim.EaseInBack:
                    EaseFunc = EaseInBack;
                    break;

                case EaseAnim.EaseOutBack:
                    EaseFunc = EaseOutBack;
                    break;

                case EaseAnim.EaseInOutBack:
                    EaseFunc = EaseInOutBack;
                    break;

                case EaseAnim.EaseInElastic:
                    EaseFunc = EaseInElastic;
                    break;

                case EaseAnim.EaseOutElastic:
                    EaseFunc = EaseOutElastic;
                    break;

                case EaseAnim.EaseInOutElastic:
                    EaseFunc = EaseInOutElastic;
                    break;

                case EaseAnim.EaseInBounce:
                    EaseFunc = EaseInBounce;
                    break;

                case EaseAnim.EaseOutBounce:
                    EaseFunc = EaseOutBounce;
                    break;

                case EaseAnim.EaseInOutBounce:
                    EaseFunc = EaseInOutBounce;
                    break;

                default:
                    EaseFunc = EaseLinear;
                    break;
                }
                return(this);
            }
 public void MoveAlongPath(GameObject gObject, Transform relativeTo, float time, float delay, EaseAnim easeAnim, Action completeCallBack)
 {
     SimpleTween.Value(gObject, 0, curve.Length, time).
     SetOnUpdate((float d) =>
     {
         if (gObject)
         {
             gObject.transform.position = relativeTo.TransformPoint(curve.GetPosition(d));
         }
     }).SetEase(easeAnim).SetDelay(delay).
     AddCompleteCallBack(() =>
     {
         if (completeCallBack != null)
         {
             completeCallBack();
         }
     });
 }