private void start_Click(object sender, EventArgs e)
        {
            _graphics.FillRectangle(Brushes.Black, 0, 0, _maxWidth, _maxHeight);

            var desiredCount = (int)instanceCounter.Value;

            _counter = new CountdownEvent(desiredCount);

            _tweens         = new GTween[desiredCount];
            GTween.PauseAll = true;
            for (var i = 0; i < desiredCount; i++)
            {
                var initializer = new GTweenPropertyInitializer()
                {
                    AutoPlay       = false,
                    DispatchEvents = true,
                    Data           = new Point(0, i * 5)
                };

                var target = new Point(0, i * 5);
                var values = new Dictionary <string, double>()
                {
                    { "Y", _maxHeight }
                };
                var tween = new GTween(target, 5, values, initializer);
                tween.Ease       = Sine.EaseInOut;
                tween.Completed += TweenCompleted;
                tween.Paused     = false;
                _tweens[i]       = tween;
            }
            GTween.PauseAll = false;

            _refresh.Enabled = true;
        }
Exemplo n.º 2
0
    /// <summary>
    /// 离开时做一个惯性动画
    /// </summary>
    /// <param name="context"></param>
    void OnSwipeEnd(EventContext context)
    {
        SwipeGesture gesture = (SwipeGesture)context.sender;
        Vector3      v       = new Vector3();

        if (Mathf.Abs(gesture.velocity.x) > Mathf.Abs(gesture.velocity.y))
        {
            //手指离开时,左右旋转时的加速度
            v.y = -Mathf.Round(Mathf.Sign(gesture.velocity.x) * Mathf.Sqrt(Mathf.Abs(gesture.velocity.x)));
            if (Mathf.Abs(v.y) < 2)
            {
                return;
            }
        }
        else
        {
            v.x = -Mathf.Round(Mathf.Sign(gesture.velocity.y) * Mathf.Sqrt(Mathf.Abs(gesture.velocity.y)));
            if (Mathf.Abs(v.x) < 2)
            {
                return;
            }
        }
        //做一个TO数值过度从V->0经过0.3秒  ,设置目标对象是地球, 每帧调用 lambda表达式传入一个GTweener对象
        //差值旋转
        GTween.To(v, Vector3.zero, 0.3f).SetTarget(_ball).OnUpdate(
            (GTweener tweener) =>
        {
            _ball.Rotate(tweener.deltaValue.vec3, Space.World);
        });
    }
Exemplo n.º 3
0
    void OnSwipeEnd(EventContext context)
    {
        SwipeGesture gesture = (SwipeGesture)context.sender;
        Vector3      v       = new Vector3();

        if (Mathf.Abs(gesture.velocity.x) > Mathf.Abs(gesture.velocity.y))
        {
            v.y = -Mathf.Round(Mathf.Sign(gesture.velocity.x) * Mathf.Sqrt(Mathf.Abs(gesture.velocity.x)));
            if (Mathf.Abs(v.y) < 2)
            {
                return;
            }
        }
        else
        {
            v.x = -Mathf.Round(Mathf.Sign(gesture.velocity.y) * Mathf.Sqrt(Mathf.Abs(gesture.velocity.y)));
            if (Mathf.Abs(v.x) < 2)
            {
                return;
            }
        }

        GTween.To(v, Vector3.zero, 0.3f).SetTarget(_ball).OnUpdate(
            (GTweener tweener) =>
        {
            _ball.Rotate(tweener.deltaValue.vec3, Space.World);
        });
    }
Exemplo n.º 4
0
        public void TestDelay()
        {
            var initializer = new GTweenPropertyInitializer();

            initializer.AutoPlay       = false;
            initializer.DispatchEvents = true;
            initializer.Delay          = TweenDuration;

            var tween = new GTween(_target, TweenDuration, _values, initializer);

            var reset = new AutoResetEvent(false);
            var timer = new Stopwatch();
            EventHandler <GTweenEventArgs> handler = (s, e) =>
            {
                timer.Stop();
                reset.Set();
            };

            tween.Initialized += handler;
            timer.Start();
            tween.Paused = false;
            reset.WaitOne(WaitDuration);
            tween.Initialized -= handler;

            Assert.IsTrue(timer.ElapsedMilliseconds >= TweenDuration);
        }
Exemplo n.º 5
0
        public void TestDataAfterInstantiation()
        {
            var initData = $"Store for {nameof(GTweenTests)} at initialization";
            var data     = $"Store for {nameof(GTweenTests)} after instantiation";

            var initializer = new GTweenPropertyInitializer()
            {
                AutoPlay       = true,
                Data           = initData,
                DispatchEvents = true
            };
            var tween = new GTween(_target, TweenDuration, _values, initializer);

            tween.Data = data;

            var reset = new AutoResetEvent(false);
            EventHandler <GTweenEventArgs> handler = (s, e) =>
            {
                reset.Set();
            };

            tween.Completed += handler;
            reset.WaitOne(WaitDuration);
            tween.Completed -= handler;

            Assert.AreEqual(data, tween.Data);
        }
Exemplo n.º 6
0
    void StartTween()
    {
        _turningAmount = 0;
        RenderPages();
        Vector2 source = GetCornerPosition(_draggingCorner, _coverTurningOp != CoverTurningOp.None);
        Vector2 target;

        if (_draggingCorner == Corner.TL || _draggingCorner == Corner.BL)
        {
            target = GetCornerPosition(_draggingCorner + 2, _coverTurningOp != CoverTurningOp.None);
        }
        else
        {
            target = GetCornerPosition(_draggingCorner - 2, _coverTurningOp != CoverTurningOp.None);
        }

        if (_turningPath == null)
        {
            _turningPath = new GPath();
        }
        Vector2 mid = new Vector2(source.x + (target.x - source.x) / 2, target.y - 50);

        _turningPath.Create(new GPathPoint(source), new GPathPoint(mid), new GPathPoint(target));
        GTween.To(source, target, EffectDuration).SetUserData(true).SetTarget(this)
        .SetPath(_turningPath)
        .OnUpdate(OnTurnUpdate).OnComplete(OnTurnComplete);
    }
Exemplo n.º 7
0
    void __touchEnd(EventContext context)
    {
        if (_draggingCorner != Corner.INVALID)
        {
            bool    suc = _turningAmount > 0.4f || (Time.unscaledTime - _touchDownTime < 0.35f);
            Vector2 target;
            if (suc)
            {
                if (_draggingCorner == Corner.TL || _draggingCorner == Corner.BL)
                {
                    target = GetCornerPosition(_draggingCorner + 2, _coverTurningOp != CoverTurningOp.None);
                }
                else
                {
                    target = GetCornerPosition(_draggingCorner - 2, _coverTurningOp != CoverTurningOp.None);
                }
            }
            else
            {
                target = GetCornerPosition(_draggingCorner, _coverTurningOp != CoverTurningOp.None);
            }

            float duration = Mathf.Max(EffectDuration * 0.5f, Mathf.Abs(target.x - _dragPoint.x) / (_pageWidth * 2) * EffectDuration);
            GTween.To(_dragPoint, target, duration).SetTarget(this).SetUserData(suc)
            .OnUpdate(OnTurnUpdate).OnComplete(OnTurnComplete);
        }
    }
Exemplo n.º 8
0
    public void SetHurt(Transform owner, int type, long hurt, bool isPlayer, bool critical)
    {
        _owner = owner;

        TextFormat tf = _numberText.textFormat;

        tf.color = Color.red;
        tf.size  = 24;
        if (type == 0)
        {
            tf.font = EmitManager.inst.hurtFont1;
        }
        else
        {
            tf.font = EmitManager.inst.hurtFont2;
        }
        if (isPlayer)
        {
            tf.size = 60;
        }

        if (hurt < 0)
        {
            tf.color = Color.green;
            _numberText.textFormat = tf;
            _numberText.text       = "+" + (-hurt);
        }
        else
        {
            tf.color = Color.red;
            _numberText.textFormat = tf;
            _numberText.text       = "-" + hurt;
        }



        if (critical)
        {
            _symbolLoader.url = EmitManager.inst.criticalSign;
        }
        else
        {
            _symbolLoader.url = "";
        }

        UpdateLayout();

        this.alpha = 1;
        UpdatePosition(Vector2.zero);
        Vector2 rnd = Vector2.Scale(UnityEngine.Random.insideUnitCircle, JITTER_FACTOR);
        int     toX = (int)rnd.x * 2;
        int     toY = (int)rnd.y * 2;



        EmitManager.inst.view.AddChild(this);
        GTween.To(Vector2.zero, new Vector2(toX, toY), 1f).SetTarget(this)
        .OnUpdate((GTweener tweener) => { this.UpdatePosition(tweener.value.vec2); }).OnComplete(this.OnCompleted);
        this.TweenFade(0, 0.5f).SetDelay(0.5f);
    }
Exemplo n.º 9
0
        public void TestDeleteValue()
        {
            var initializer = new GTweenPropertyInitializer()
            {
                AutoPlay       = false,
                DispatchEvents = true
            };
            var tween = new GTween(_target, TweenDuration, _values, initializer);

            var reset = new AutoResetEvent(false);
            EventHandler <GTweenEventArgs> handler = (s, e) =>
            {
                tween.DeleteValue("Value");
                reset.Set();
            };

            tween.Changed += handler;
            tween.Paused   = false;
            reset.WaitOne(WaitDuration);
            tween.Changed -= handler;

            Assert.AreEqual(false, tween.Paused);
            Assert.IsTrue(_target.Value < _values["Value"]);
            Assert.IsTrue(_target.Value > 0);
        }
Exemplo n.º 10
0
        public void TestReflect()
        {
            var initializer = new GTweenPropertyInitializer();

            initializer.AutoPlay       = false;
            initializer.DispatchEvents = true;
            initializer.Reflect        = true;
            initializer.RepeatCount    = 2;

            var tween       = new GTween(_target, TweenDuration, _values, initializer);
            var initValue   = _target.Value;
            var midAchieved = false;
            var endAchieved = false;

            var reset = new AutoResetEvent(false);
            EventHandler <GTweenEventArgs> handler = (s, e) =>
            {
                if (Math.Ceiling(_target.Value) == _values["Value"])
                {
                    midAchieved = true;
                }

                endAchieved = midAchieved && _target.Value == initValue;
            };

            tween.Changed += handler;
            tween.Paused   = false;
            reset.WaitOne(WaitDuration << 1);
            tween.Changed -= handler;

            Assert.IsTrue(midAchieved);
            Assert.IsTrue(endAchieved);
        }
Exemplo n.º 11
0
        public void TestRepeat()
        {
            var initializer = new GTweenPropertyInitializer();

            initializer.AutoPlay       = false;
            initializer.DispatchEvents = true;
            initializer.RepeatCount    = 2;

            var tween = new GTween(_target, TweenDuration, _values, initializer);

            var counter = 0;
            var reset   = new AutoResetEvent(false);
            EventHandler <GTweenEventArgs> handler = (s, e) =>
            {
                counter++;

                if (tween.RepeatCount == counter)
                {
                    reset.Set();
                }
            };

            tween.Completed += handler;
            tween.Paused     = false;
            reset.WaitOne(WaitDuration << 1);
            tween.Completed -= handler;

            Assert.AreEqual(tween.RepeatCount, counter);
        }
Exemplo n.º 12
0
        public void TestEnd()
        {
            var tween = new GTween(_target, TweenDuration, _values);

            tween.End();

            Assert.AreEqual(TweenDuration, tween.Position);
        }
Exemplo n.º 13
0
 void OnHold(EventContext context)
 {
     GTween.Shake(_ball.transform.localPosition, 0.05f, 0.5f).SetTarget(_ball).OnUpdate(
         (GTweener tweener) =>
     {
         _ball.transform.localPosition = new Vector3(tweener.value.x, tweener.value.y, _ball.transform.localPosition.z);
     });
 }
Exemplo n.º 14
0
    void OnRotate(EventContext context)
    {
        GTween.Kill(_ball);

        RotationGesture gesture = (RotationGesture)context.sender;

        _ball.Rotate(Vector3.forward, -gesture.delta, Space.World);
    }
Exemplo n.º 15
0
        public void TestGetValue()
        {
            var fromValues   = _values["Value"];
            var tween        = new GTween(_target, TweenDuration, _values);
            var fromInstance = tween.GetValue("Value");

            Assert.AreEqual(fromValues, fromInstance);
        }
Exemplo n.º 16
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="pageIndex"></param>
    public void TurnTo(int pageIndex)
    {
        if (pageIndex < 0 || pageIndex > _pageCount - 1)
        {
            throw new Exception("Page index out of bounds: " + pageIndex);
        }

        GTween.Kill(this, true);

        if (_coverStatus == CoverStatus.ShowingFront)
        {
            _coverTurningOp = CoverTurningOp.HideFront;
            _draggingCorner = Corner.BR;
        }
        else if (_coverStatus == CoverStatus.ShowingBack)
        {
            _coverTurningOp = CoverTurningOp.HideBack;
            _draggingCorner = Corner.BL;
        }

        int tt1 = _currentPage;

        if (_currentPage % 2 == 0)
        {
            tt1--;
        }
        int tt2 = pageIndex;

        if (pageIndex % 2 == 0)
        {
            tt2--;
        }
        if (tt1 == tt2)
        {
            _currentPage   = pageIndex;
            _turningTarget = -1;
        }
        else
        {
            _turningTarget = pageIndex;
            if (_turningTarget < _currentPage)
            {
                _draggingCorner = Corner.BL;
            }
            else
            {
                _draggingCorner = Corner.BR;
            }
        }

        if (_draggingCorner == Corner.INVALID)
        {
            return;
        }

        StartTween();
    }
Exemplo n.º 17
0
 private void Awake()
 {
     gTween = new GTween(0.3f, 0f, 1f, false);
     originalAnchoredPosition = myRect.anchoredPosition;
     vDirection = (Quaternion.Euler(0, 0, direction) * Vector2.right); //Convert the supplied angle measure into a Vector2
     //Debug.Log("vDirection: "+vDirection);
     offScreenPosition       = new Vector2(originalAnchoredPosition.x - myRect.sizeDelta.x * vDirection.x, originalAnchoredPosition.y - myRect.sizeDelta.y * vDirection.y);
     myRect.anchoredPosition = offScreenPosition;
 }
Exemplo n.º 18
0
    void OnPinch(EventContext context)
    {
        GTween.Kill(_ball);

        PinchGesture gesture  = (PinchGesture)context.sender;
        float        newValue = Mathf.Clamp(_ball.localScale.x + gesture.delta, 0.3f, 2);

        _ball.localScale = new Vector3(newValue, newValue, newValue);
    }
Exemplo n.º 19
0
        public void TestBeginning()
        {
            var tween = new GTween(_target, TweenDuration, _values);

            tween.Beginning();

            Assert.AreEqual(true, tween.Paused);
            Assert.AreEqual(0, tween.Position);
        }
Exemplo n.º 20
0
 private void RefreshDataSelect()
 {
     _controlShop.ResetSelectItem();
     GTween.Kill(this);
     GTween.DelayedCall(0.02f).SetTarget(this).OnComplete(() =>
     {
         SetSelectItem(m_indextItemSeleted);
     });
 }
Exemplo n.º 21
0
 public void Cancel()
 {
     _owner = null;
     if (this.parent != null)
     {
         GTween.Kill(this);
         EmitManager.inst.view.RemoveChild(this);
     }
     EmitManager.inst.ReturnComponent(this);
 }
Exemplo n.º 22
0
        public void TestPosition()
        {
            var tween = new GTween(_target, TweenDuration, _values);

            tween.Paused = true;
            var position = 5d;

            tween.Position = 5d;

            Assert.AreEqual(position, tween.Position);
        }
Exemplo n.º 23
0
        public void TestGetValues()
        {
            KeyValuePair <string, double>[] fromValues = new KeyValuePair <string, double> [_values.Count];
            _values.CopyTo(fromValues, 0);

            var tween        = new GTween(_target, TweenDuration, _values);
            var fromInstance = tween.GetValues();

            Assert.AreEqual(fromValues.Length, fromInstance.Count);
            Assert.IsTrue(fromInstance.ContainsKey(fromValues[0].Key));
        }
Exemplo n.º 24
0
    /// <summary>
    /// 缩放事件
    /// </summary>
    /// <param name="context"></param>
    void OnPinch(EventContext context)
    {
        //停止当前变化
        GTween.Kill(_ball);

        PinchGesture gesture = (PinchGesture)context.sender;
        //球的X轴缩放系数+ 手指改变量 限制在0.3-2之间, 改变球的XYZ缩放系数
        float newValue = Mathf.Clamp(_ball.localScale.x + gesture.delta, 0.3f, 2);

        _ball.localScale = new Vector3(newValue, newValue, newValue);
    }
Exemplo n.º 25
0
 //打断动画进程 add by tianjinpeng 2018/03/14 10:33:03
 void killtweener(GTweener tweener)
 {
     if (tweener != null)
     {
         GTween.Kill(tweener);
         tweener = null;
     }
     else
     {
     }
 }
Exemplo n.º 26
0
    public void Turn()
    {
        if (GTween.IsTweening(this))
        {
            return;
        }

        bool toOpen = !_front.visible;

        GTween.To(0, 180, 0.8f).SetTarget(this).SetEase(EaseType.QuadOut).OnUpdate(TurnInTween).SetUserData(toOpen);
    }
Exemplo n.º 27
0
        public void Add(string iconurl, string nametext, string datacount)
        {
            CanToZero();
            float toy = 300f - ((tipsDatas.Count + 1) * 100f);

            newtipsData(iconurl, nametext, datacount);
            if (tweener != null)
            {
                GTween.Kill(tweener);
            }
            tweener = gList.TweenMoveY(toy, 0.3f);
        }
Exemplo n.º 28
0
 public void Hide(bool withAnim = true)
 {
     if (choicebubbletweener != null)
     {
         GTween.Kill(choicebubbletweener);
     }
     choicebubbletweener = ui.TweenFade(0, 0.2f).OnComplete(() =>
     {
         ui.visible          = false;
         choicebubbletweener = null;
     });
 }
Exemplo n.º 29
0
 public void Show(bool withAnim = true)
 {
     ui.visible = true;
     if (choicebubbletweener != null)
     {
         GTween.Kill(choicebubbletweener);
     }
     choicebubbletweener = ui.TweenFade(1, 0.2f).OnComplete(() =>
     {
         choicebubbletweener = null;
     });
 }
Exemplo n.º 30
0
 public void Movesize(GObject parent, GObject gameObject, Vector2 sd, Vector2 pos, float time)
 {
     parent.position = sd;
     parent.visible  = true;
     GTween.Kill(dosettw);
     GTween.Kill(movesizepar);
     dosettw     = parent.TweenResize(gameObject.size, time);
     movesizepar = parent.TweenMove(pos, time).OnComplete(() =>
     {
         gameObject.visible = true;
         parent.visible     = false;
     });
 }