Пример #1
0
    public void TweenPosition(float duration, Vector3 pos, Tweener.Method method, bool steeperCurves)
    {
        PositionTween tweenPosition = PositionTween.Begin(gameObject, duration, pos);

        tweenPosition.method        = method;
        tweenPosition.steeperCurves = steeperCurves;
    }
Пример #2
0
 public static void OnAdd(PositionTween tween)
 {
     if (tween == null)
     {
         return;
     }
     ms_Tweens[tween.ID] = tween;
 }
Пример #3
0
    public static void MoveGameObject(GameObject objectToMove, Vector3 targetPosition, float speed, Func <float, float> EaseMethod)
    {
        Init();

        PositionTween tween = new PositionTween(objectToMove, targetPosition, speed, EaseMethod);

        _activeTweens.Add(tween);
    }
Пример #4
0
 public static void OnRemove(PositionTween tween)
 {
     if (tween == null)
     {
         return;
     }
     if (ms_Tweens.ContainsKey(tween.ID))
     {
         ms_Tweens.Remove(tween.ID);
     }
 }
Пример #5
0
    /// <summary>
    /// Start the tweening operation.
    /// </summary>

    static public PositionTween Begin(GameObject go, float duration, Vector3 pos)
    {
        PositionTween comp = Tweener.Begin <PositionTween>(go, duration);

        comp.from = comp.position;
        comp.to   = pos;

        if (duration <= 0f)
        {
            comp.position = pos;
            comp.enabled  = false;
        }
        return(comp);
    }
Пример #6
0
    static public IEnumerator Pulse(float timeFly, float timeFlyWait, float timeHit,
                                    GameObject particleBegin, GameObject particleHit, GameObject particleDanger,
                                    Vector3 startPosition, Vector3 destPosition, bool fly)
    {
        GameObject p = (GameObject)Instantiate(particleHit);

        p.transform.parent     = GameManager.Instance.Definitions.FieldRoot.transform;
        p.transform.position   = startPosition;
        p.transform.localScale = new Vector3(1, 1, 1);
        p.SetActive(true);

        GameObject p1 = null;

        if (particleBegin != null)
        {
            p1 = (GameObject)Instantiate(particleBegin);
            p1.transform.position   = startPosition;
            p1.transform.localScale = new Vector3(1, 1, 1);
            p1.SetActive(true);
        }

        PositionTween tweenPosition;

        if (fly)
        {
            Vector3 destPositionLocal = p.transform.worldToLocalMatrix.MultiplyVector(destPosition);

            tweenPosition        = PositionTween.Begin(p, timeFly, destPositionLocal);
            tweenPosition.method = Tweener.Method.EaseIn;
        }

        yield return(new WaitForSeconds(timeFlyWait));

        GameObject p2 = (GameObject)Instantiate(particleDanger);

        p2.transform.parent     = GameManager.Instance.Definitions.FieldRoot.transform;
        p2.transform.position   = destPosition;
        p2.transform.localScale = new Vector3(1, 1, 1);
        p2.SetActive(true);

        yield return(new WaitForSeconds(timeHit));

        if (p1 != null)
        {
            GameObject.Destroy(p1);
        }
        GameObject.Destroy(p);
        GameObject.Destroy(p2);
    }
Пример #7
0
 /// <summary>
 /// 功能菜单收缩
 /// </summary>
 /// <param name="scale"></param>
 public void Folding(bool scale)
 {
     if (pt == null)
     {
         pt = function_obj.GetComponent <PositionTween>();
     }
     if (folding_tog.isOn)
     {
         pt.PlayForward();
     }
     else
     {
         pt.PlayReverse();
     }
 }
        protected virtual void Awake()
        {
            // set the initial position, and set the collider
            _homePosition = transform.localPosition;
            _collider     = GetComponent <Collider2D>();
            if (_collider == null)
            {
                throw new Exception("No Collider2D component attached to GameObject.");
            }

            // setup the return tween
            _homeTween     = GetComponent <PositionTween>();
            _homeTween.End = _homePosition;
            _lastPosition  = transform.position;
        }
Пример #9
0
 public void Folding(bool scale)
 {
     if (pt == null)
     {
         pt = gameObject.GetComponent <PositionTween>();
     }
     if (scale)
     {
         pt.PlayForward();
     }
     else
     {
         pt.PlayReverse();
     }
 }
Пример #10
0
    public override void OnInspectorGUI()
    {
        DrawPropertyField("type");

        testA = (PositionTween)target;

        if (testA.type == MoveType.FromPositionToTarget || testA.type == MoveType.FromTargetToPosition)
        {
            DrawPropertyField("target");
        }

        if (testA.type == MoveType.OffsetToPosition || testA.type == MoveType.PositionToOffset)
        {
            DrawPropertyField("offset");
        }
        base.OnInspectorGUI();
    }
Пример #11
0
    public static IEnumerator Shake(GameObject go, float time)
    {
        float         pTime         = time / 4;
        Vector3       position      = go.transform.localPosition;
        PositionTween tweenPosition = PositionTween.Begin(go, pTime, position + new Vector3(-10, 0, 0));

        tweenPosition.method        = Tweener.Method.EaseOut;
        tweenPosition.steeperCurves = true;

        yield return(new WaitForSeconds(pTime));

        tweenPosition        = PositionTween.Begin(go, pTime, position + new Vector3(10, 0, 0));
        tweenPosition.method = Tweener.Method.Linear;

        yield return(new WaitForSeconds(pTime * 2));

        tweenPosition        = PositionTween.Begin(go, pTime, position);
        tweenPosition.method = Tweener.Method.Linear;

        yield return(new WaitForSeconds(pTime));
    }
Пример #12
0
    public void PositionGameObject(GameObject objectToMove, Vector3 targetPosition, float speed, Func <float, float> EaseMethod)
    {
        var newTween = new PositionTween(objectToMove, targetPosition, speed, EaseMethod);

        _positionTween.Add(newTween);
    }