Beispiel #1
0
    private void SetEase()
    {
        if (data.ease != Ease.INTERNAL_Custom)
        {
            thisTween.SetEase(data.ease);
        }
        else
        {
            thisTween.SetEase(data.customCurve);
        }

        thisTween.SetUpdate(data.IgnoreTimeScale);
    }
    private void DoTweenMoneyEffect(int index)
    {
        //Logger.LogWarp.LogError("DoTweenMoneyEffect " + index + " " + m_TargetPosition + " " + moveTime);
        MoneyEffectData data = m_MoneyEffectChildList[index];

        data.Trans.localScale = scale;
        //Vector2 p2 = Vector2.zero;
        Vector2 p2 = data.Trans.position;

        //if (tweenPos != null)
        //{
        //    if (tweenPos.IsPlaying())
        //    {
        //        tweenPos.Complete();
        //    }
        //    tweenPos.Kill();

        //}

        tweenPos = DOTween.To(() => p2, x => p2 = x, m_TargetPosition, moveTime);
        tweenPos.SetEase(Ease.InSine);
        //data.effect.SetActive(true);
        //Debug.Log("m_TargetPosition=" + m_TargetPosition);
        tweenPos.OnUpdate(() =>
        {
            //Logger.LogWarp.LogError(data.Trans.name + " " + p2);
            data.Trans.position = p2;
        });
        tweenPos.OnComplete(() =>
        {
            //Logger.LogWarp.LogError("tweenPos.OnComplete " + m_CurPlayCount + " " + m_MaxCount);
            data.Trans.localScale = Vector3.zero;

            m_CurPlayCount++;
            //EventManager.Trigger(EventEnum.MoneyEffectPlayUpdate, m_MoneyType);
            //ShakePhone.ShakeLight();
            if ((m_CurPlayCount + 1) >= m_MaxCount)
            {
                m_CurPlayCount = 0;
                switch (m_MoneyType)
                {
                case MoneyType.Diamond:
                    m_DiamondEffectObj.SetActive(true);
                    break;

                case MoneyType.Money:
                    m_MoneyEffectObj.SetActive(true);
                    break;

                case MoneyType.Physic:
                    physicEffectObj.SetActive(true);
                    break;
                }

                RunCoroutine.Run(PlayCompleteEffect());
            }
        });
    }
Beispiel #3
0
    public void FlyInDirection(Vector3 directFly)
    {
        m_directFly  = directFly;
        m_raycastHit = Physics2D.CircleCast(transform.position, m_radius, m_directFly, 100f, m_layerMaskVaCham);

        Vector3 destination = m_raycastHit.point + m_raycastHit.normal * m_radius;  //điểm cuối cách 1 khoảng bằng radius, để bóng ko đi xuyên qua tường hoặc khối

        m_tweener = transform.DOMove(destination, m_raycastHit.distance / m_flySpeed);
        m_tweener.SetEase(Ease.Linear);
        m_tweener.OnComplete(() => OnDoMoveComplete());
        m_ballState = BallState.Flying;
    }
        protected void SetTween(TweenerCore <Vector3, Path, PathOptions> tween)
        {
            if (direction == AnimationDirection.From)
            {
                tween.From();
            }

            tween.SetEase(ease);
            tween.SetRelative(isRelative);
            tween.Pause();
            tweener = tween;
        }
Beispiel #5
0
    public void RevokeBall()
    {
        if (m_ballState == BallState.Flying)
        {
            m_ballState = BallState.Revoking;
            m_tweener.Kill();

            Vector3 pos = m_gun.transform.position;
            pos.x = transform.position.x;
            float distance = Vector3.Distance(transform.position, pos);
            m_tweener = transform.DOMove(pos, distance / m_flySpeed); //bay thẳng xuống cái đã
            m_tweener.SetEase(Ease.Linear);
            m_tweener.OnComplete(() =>
            {
                FinishFly();
            });
        }
    }
Beispiel #6
0
    public void Shoot()
    {
        if (_hurtcontroller.isdie)
        {
            return;
        }
        Vector3[] pos = new Vector3[] {
            new Vector2(Mathf.Abs(transform.position.x - player.transform.position.x) / 2 + (transform.position.x > player.transform.position.x? player.transform.position.x:transform.position.x),
                        (transform.position + transform.up * 8).y), new Vector2(player.transform.position.x, transform.position.y - 2)
        };

        float timer = Mathf.Sqrt(Mathf.Pow((Mathf.Abs(pos[1].y) - Mathf.Abs(transform.position.y + 3.5f)), 2) + Mathf.Pow((Mathf.Abs(pos[1].x) - Mathf.Abs(transform.position.x)), 2)) / 3.5f;

        GameObject temp2 = GameObjectPool.GetInstance().GetGameObject("尸蛹攻击", transform.position + new Vector3(0, 3.5f), Quaternion.Euler(0, 0, 90));

        GameObjectPool.GetInstance().ReleaseGameObject("尸蛹攻击", temp2, timer);


        TweenerCore <Vector3, DG.Tweening.Plugins.Core.PathCore.Path, DG.Tweening.Plugins.Options.PathOptions> core = temp2.transform.DOPath(pos, timer, PathType.CatmullRom, PathMode.TopDown2D);

        core.plugOptions.orientType = DG.Tweening.Plugins.Options.OrientType.ToPath;
        core.plugOptions.lookAhead  = 0.1f;
        core.SetEase(curve);
    }
Beispiel #7
0
    /// <summary>
    /// Only Deactive UI wont clear Data.
    /// </summary>
    public virtual void Hide()
    {
        GameObject tempObj = null;

        if (m_ContentTrans != null)
        {
            tempObj = m_ContentTrans.gameObject;
        }
        else
        {
            tempObj = this.gameObject;
        }
        if (alphaBackground == UIAlphaBackground.DoAlpha)
        {
            if (bgImg != null)
            {
                if (tweenHideColor != null)
                {
                    tweenHideColor.Kill();
                }
                float p2 = 1;
                tweenHideColor = DOTween.To(() => p2, x => p2 = x, 0, 0.25f);
                tweenHideColor.SetEase(Ease.Linear);
                tweenHideColor.OnUpdate(() =>
                {
                    Color c     = bgImg.color;
                    c.a         = p2;
                    bgImg.color = c;
                });
            }
        }
        if (this.mode == UIMode.DoTween && tempObj != null)
        {
            //				DOTween.To ();
            if (tweenHideScale != null)
            {
                tweenHideScale.Kill();
            }
            if (tweenHideScale1 != null)
            {
                tweenHideScale1.Kill();
            }
            Vector3 p2 = Vector3.one;
            tweenHideScale = DOTween.To(() => p2, x => p2 = x, new Vector3(1.15f, 1.15f, 1), 0.08f);
            tweenHideScale.SetEase(Ease.InSine);
            tweenHideScale.OnUpdate(() =>
            {
                //Debug.Log(p2);
                tempObj.transform.localScale = p2;
            });
            tweenHideScale.OnComplete(() =>
            {
                tweenHideScale1 = DOTween.To(() => p2, x => p2 = x, new Vector3(0, 0, 1), 0.17f);
                tweenHideScale1.SetEase(Ease.InOutSine);
                tweenHideScale1.OnUpdate(() =>
                {
                    tempObj.transform.localScale = p2;
                    //Debug.Log(p2);
                });
                tweenHideScale1.OnComplete(() =>
                {
                    this.gameObject.SetActive(false);
                    isActived = false;
                    //set this page's data null when hide.
                    this.m_data = null;
                    InvokeCloseAndRemoveAllListeners();
                });
            });
            return;
        }
        //if (uiCurrency != null)
        //{
        //    uiCurrency.Hide();
        //}

        this.gameObject.SetActive(false);
        isActived = false;
        //set this page's data null when hide.
        this.m_data = null;
        InvokeCloseAndRemoveAllListeners();
    }
Beispiel #8
0
    ///Active this UI
    public virtual void Active()
    {
        this.transform.SetAsLastSibling();
        this.gameObject.SetActive(true);
        isActived = true;
        GameObject tempObj = null;

        if (m_ContentTrans != null)
        {
            tempObj = m_ContentTrans.gameObject;
        }
        else
        {
            tempObj = this.gameObject;
        }
        if (alphaBackground == UIAlphaBackground.DoAlpha)
        {
            if (bgImg != null)
            {
                if (tweenShowColor != null)
                {
                    tweenShowColor.Kill();
                }
                float p2 = 0;
                tweenShowColor = DOTween.To(() => p2, x => p2 = x, 1, 0.28f);
                tweenShowColor.SetEase(Ease.Linear);
                tweenShowColor.OnUpdate(() =>
                {
                    Color c     = bgImg.color;
                    c.a         = p2;
                    bgImg.color = c;
                });
            }
        }
        if (this.mode == UIMode.DoTween && tempObj != null)
        {
            if (tweenShowScale != null)
            {
                tweenShowScale.Kill();
            }
            if (tweenShowScale1 != null)
            {
                tweenShowScale1.Kill();
            }
            //				DOTween.To ();
            Vector3 p2 = Vector3.zero;
            tweenShowScale = DOTween.To(() => p2, x => p2 = x, new Vector3(1.15f, 1.15f, 1), 0.12f);
            tweenShowScale.SetEase(Ease.InOutSine);
            tweenShowScale.OnUpdate(() =>
            {
                //Debug.Log(p2);
                tempObj.transform.localScale = p2;
            });
            tweenShowScale.OnComplete(() =>
            {
                tweenShowScale1 = DOTween.To(() => p2, x => p2 = x, Vector3.one, 0.16f);
                tweenShowScale1.SetEase(Ease.InOutSine);
                tweenShowScale1.OnUpdate(() =>
                {
                    //Debug.Log(p2);
                    tempObj.transform.localScale = p2;
                });
            });
        }
        //if (uiCurrency != null)
        //{
        //    uiCurrency.Active();
        //}
    }
Beispiel #9
0
 private void ShowDialogueTween(string dialog)
 {
     _dialogue.text = ""; //Clean the text so the animation shows correctly.
     _dialogueTween = _dialogue.DOText(dialog, _showTextTime);
     _dialogueTween.SetEase(_showTextEase);
 }
Beispiel #10
0
        public override void build(SequenceControl seq, Track track, int index, UnityEngine.Object obj)
        {
            int frameRate = seq.take.frameRate;

            //allow tracks with just one key
            if (track.keys.Count == 1)
            {
                interp = Interpolation.None;
            }

            var trans       = obj as Transform;
            var transParent = trans.parent;

            Rigidbody   body   = trans.GetComponent <Rigidbody>();
            Rigidbody2D body2D = !body?trans.GetComponent <Rigidbody2D>() : null;

            var   tTrack    = track as TranslationTrack;
            bool  pixelSnap = tTrack.pixelSnap;
            float ppu       = tTrack.pixelPerUnit;

            if (!canTween)
            {
                //TODO: world position
                Vector3 pos = pixelSnap ? new Vector3(Mathf.Round(position.x * ppu) / ppu, Mathf.Round(position.y * ppu) / ppu, Mathf.Round(position.z * ppu) / ppu) : position;

                TweenerCore <Vector3, Vector3, TWeenPlugNoneOptions> tweener;

                if (body2D)
                {
                    tweener = DOTween.To(new TweenPlugValueSet <Vector3>(), () => trans.localPosition, (x) => body2D.position = transParent.TransformPoint(x), pos, getTime(frameRate)); //1.0f / frameRate
                }
                else if (body)
                {
                    tweener = DOTween.To(new TweenPlugValueSet <Vector3>(), () => trans.localPosition, (x) => body.position = transParent.TransformPoint(x), pos, getTime(frameRate)); //1.0f / frameRate
                }
                else
                {
                    tweener = DOTween.To(new TweenPlugValueSet <Vector3>(), () => trans.localPosition, (x) => trans.localPosition = x, pos, getTime(frameRate)); //1.0f / frameRate
                }
                seq.Insert(this, tweener);
            }
            else
            {
                if (path.Length <= 1)
                {
                    return;
                }
                if (getNumberOfFrames(seq.take.frameRate) <= 0)
                {
                    return;
                }

                TweenerCore <Vector3, Path, PathOptions> ret = null;

                bool isRelative = false;

                PathType pathType = path.Length == 2 ? PathType.Linear : PathType.CatmullRom;

                var pathTween = new Path(pathType, path, pathResolution);
                var timeTween = getTime(frameRate);

                if (body2D)
                {
                    if (pixelSnap)
                    {
                        ret = DOTween.To(PathPlugin.Get(), () => path[0], x => body2D.MovePosition(transParent.TransformPoint(new Vector2(Mathf.Round(x.x * ppu) / ppu, Mathf.Round(x.y * ppu) / ppu))), pathTween, timeTween).SetTarget(body2D);
                    }
                    else
                    {
                        ret = DOTween.To(PathPlugin.Get(), () => path[0], x => body2D.MovePosition(transParent.TransformPoint(x)), pathTween, timeTween).SetTarget(body2D);
                    }
                }
                else if (body)
                {
                    if (pixelSnap)
                    {
                        ret = DOTween.To(PathPlugin.Get(), () => path[0], x => body.MovePosition(transParent.TransformPoint(new Vector3(Mathf.Round(x.x * ppu) / ppu, Mathf.Round(x.y * ppu) / ppu, Mathf.Round(x.z * ppu) / ppu))), pathTween, timeTween).SetTarget(body);
                    }
                    else
                    {
                        ret = DOTween.To(PathPlugin.Get(), () => path[0], x => body.MovePosition(transParent.TransformPoint(x)), pathTween, timeTween).SetTarget(body);
                    }
                }
                else
                {
                    if (pixelSnap)
                    {
                        ret = DOTween.To(PathPlugin.Get(), () => path[0], x => trans.localPosition = new Vector3(Mathf.Round(x.x * ppu) / ppu, Mathf.Round(x.y * ppu) / ppu, Mathf.Round(x.z * ppu) / ppu), pathTween, timeTween).SetTarget(trans);
                    }
                    else
                    {
                        ret = DOTween.To(PathPlugin.Get(), () => path[0], x => trans.localPosition = x, pathTween, timeTween).SetTarget(trans);
                    }
                }

                ret.SetRelative(isRelative).SetOptions(isClosed);

                if (hasCustomEase())
                {
                    ret.SetEase(easeCurve);
                }
                else
                {
                    ret.SetEase(easeType, amplitude, period);
                }

                seq.Insert(this, ret);
            }
        }