예제 #1
0
        public void PropByTest()
        {
            var      target   = new TweenOps();
            TweenOps expected = target;
            TweenOps actual   = target
                                .PropBy("ops1", 100)
                                .PropBy("ops2", 200)
                                .PropBy("ops3", 300)
            ;

            // test chaining
            Assert.AreEqual(expected, actual);
            // test if values are set
            Assert.AreEqual(3, target.PropertyOpses.Count);

            Assert.AreEqual("ops1", target.PropertyOpses[0].PropertyName);
            Assert.AreEqual(100, target.PropertyOpses[0].TargetValue);
            Assert.IsTrue(target.PropertyOpses[0].IsRelative);
            Assert.IsNull(target.PropertyOpses[0].Tweener);

            Assert.AreEqual("ops2", target.PropertyOpses[1].PropertyName);
            Assert.AreEqual(200, target.PropertyOpses[1].TargetValue);
            Assert.IsTrue(target.PropertyOpses[1].IsRelative);
            Assert.IsNull(target.PropertyOpses[1].Tweener);

            Assert.AreEqual("ops3", target.PropertyOpses[2].PropertyName);
            Assert.AreEqual(300, target.PropertyOpses[2].TargetValue);
            Assert.IsTrue(target.PropertyOpses[2].IsRelative);
            Assert.IsNull(target.PropertyOpses[2].Tweener);
        }
예제 #2
0
        public void PropByTest1()
        {
            var      target   = new TweenOps();
            TweenOps expected = target;
            // test chaining
            TweenOps actual = target
                              .PropBy("ops1", 100, new DoubleTweener())
                              .PropBy("ops2", 200, new FloatTweener())
                              .PropBy("ops3", 300, new SignedInt32Tweener())
            ;

            Assert.AreEqual(expected, actual);
            // test if PropertyOps are added
            Assert.AreEqual(3, target.PropertyOpses.Count);

            Assert.AreEqual("ops1", target.PropertyOpses[0].PropertyName);
            Assert.IsTrue(target.PropertyOpses[0].IsRelative);
            Assert.AreEqual(100, target.PropertyOpses[0].TargetValue);
            Assert.IsInstanceOfType(target.PropertyOpses[0].Tweener, typeof(DoubleTweener));

            Assert.AreEqual("ops2", target.PropertyOpses[1].PropertyName);
            Assert.IsTrue(target.PropertyOpses[1].IsRelative);
            Assert.AreEqual(200, target.PropertyOpses[1].TargetValue);
            Assert.IsInstanceOfType(target.PropertyOpses[1].Tweener, typeof(FloatTweener));

            Assert.AreEqual("ops3", target.PropertyOpses[2].PropertyName);
            Assert.IsTrue(target.PropertyOpses[2].IsRelative);
            Assert.AreEqual(300, target.PropertyOpses[2].TargetValue);
            Assert.IsInstanceOfType(target.PropertyOpses[2].Tweener, typeof(SignedInt32Tweener));
        }
예제 #3
0
        public void PropTest()
        {
            var target   = new TweenOps();
            var ops1     = new PropertyOps("ops1", 100, false);
            var ops2     = new PropertyOps("ops2", 200, true);
            var ops3     = new PropertyOps("ops3", 300, new DoubleTweener(), false);
            var expected = target;
            var actual   = target.Prop(ops1).Prop(ops2).Prop(ops3);

            // test chaining
            Assert.AreEqual(expected, actual);

            // test if PropertyOps are added
            Assert.AreEqual(3, target.PropertyOpses.Count);

            Assert.AreEqual("ops1", target.PropertyOpses[0].PropertyName);
            Assert.AreEqual(100, target.PropertyOpses[0].TargetValue);
            Assert.IsFalse(target.PropertyOpses[0].IsRelative);
            Assert.IsNull(target.PropertyOpses[0].Tweener);

            Assert.AreEqual("ops2", target.PropertyOpses[1].PropertyName);
            Assert.AreEqual(200, target.PropertyOpses[1].TargetValue);
            Assert.IsTrue(target.PropertyOpses[1].IsRelative);
            Assert.IsNull(target.PropertyOpses[1].Tweener);

            Assert.AreEqual(300, target.PropertyOpses[2].TargetValue);
            Assert.AreEqual("ops3", target.PropertyOpses[2].PropertyName);
            Assert.IsInstanceOfType(target.PropertyOpses[2].Tweener, typeof(DoubleTweener));
        }
예제 #4
0
        public static TweenShark To(object obj, float duration, TweenOps tweenOps)
        {
            var ts = new TweenShark(obj, duration, tweenOps);

            _core.To(ts);
            return(ts);
        }
예제 #5
0
        public void TweenOpsConstructorTest2()
        {
            var target = new TweenOps();

            Assert.AreEqual(Ease.Linear, target.EaseFunc);
            Assert.IsNull(target.EaseExFunc);
            Assert.IsNull(target.EaseExParams);
        }
예제 #6
0
        public void TweenOpsConstructorTest1()
        {
            EaseFunction easeFunc = Ease.Linear;
            var          target   = new TweenOps(easeFunc);

            Assert.AreEqual(easeFunc, target.EaseFunc);
            Assert.IsNull(target.EaseExFunc);
            Assert.IsNull(target.EaseExParams);
        }
예제 #7
0
        /**
         * locally rotate GameObject around on axis BY a specific value
         */
        public static TweenOps URotateBy(this TweenOps tweenOps, float targetValue, V3Compnent axis, UnityGameObjectRotateAxisTweener axisTweener = null)
        {
            if (axisTweener == null)
            {
                axisTweener = new UnityGameObjectRotateAxisTweener(axis);
            }

            tweenOps.PropBy("URotate", new Vector3(targetValue, targetValue, targetValue), axisTweener);

            return(tweenOps);
        }
예제 #8
0
        /**
         * move GameObject BY the given position
         */
        public static TweenOps UMoveBy(this TweenOps tweenOps, Vector3 targetValue, UnityGameObjectMoveTweener tweener = null)
        {
            if (tweener == null)
            {
                tweener = new UnityGameObjectMoveTweener();
            }

            tweenOps.PropBy("UMove", targetValue, tweener);

            return(tweenOps);
        }
예제 #9
0
        /**
         * move on axis of a GameObject TO a given position
         */
        public static TweenOps UFadeMaterials(this TweenOps tweenOps, Material[] materials, UnityGameObjectFadeMaterialTweener fadeTweener = null)
        {
            if (fadeTweener == null)
            {
                fadeTweener = new UnityGameObjectFadeMaterialTweener(materials);
            }

            tweenOps.PropTo("UColor", Color.white, fadeTweener);

            return(tweenOps);
        }
예제 #10
0
        /**
         * tween one component of a Vector3 BY a specific value
         */
        public static TweenOps UV3CompBy(this TweenOps tweenOps, string propertyName, float targetValue, V3Compnent component, UnityVector3ComponentTweener tweener = null)
        {
            if (tweener == null)
            {
                tweener = new UnityVector3ComponentTweener(component);
            }

            tweenOps.PropBy(propertyName, new Vector3(targetValue, targetValue, targetValue), tweener);

            return(tweenOps);
        }
예제 #11
0
        /**
         * move on axis of a GameObject BY a given position
         */
        public static TweenOps UMoveBy(this TweenOps tweenOps, float targetValue, V3Compnent component, UnityGameObjectMoveAxisTweener axisTweener = null)
        {
            if (axisTweener == null)
            {
                axisTweener = new UnityGameObjectMoveAxisTweener(component);
            }

            tweenOps.PropBy("UMove", new Vector3(targetValue, targetValue, targetValue), axisTweener);

            return(tweenOps);
        }
예제 #12
0
        /**
         * move on axis of a GameObject TO a given position
         */
        public static TweenOps UColorBy(this TweenOps tweenOps, Color targetValue, UnityGameObjectColorTweener colorTweener = null)
        {
            if (colorTweener == null)
            {
                colorTweener = new UnityGameObjectColorTweener();
            }

            tweenOps.PropBy("UColor", targetValue, colorTweener);

            return(tweenOps);
        }
예제 #13
0
        public void TweenOpsConstructorTest()
        {
            EaseExFunction easeFunc     = EaseEx.InElastic;
            var            easeExParams = new object[] { 10, 20, 30 };
            var            target       = new TweenOps(easeFunc, easeExParams);

            Assert.IsNull(target.EaseFunc);
            Assert.AreEqual(easeFunc, target.EaseExFunc);
            Assert.AreEqual(easeExParams, target.EaseExParams);
            Assert.AreEqual(3, target.EaseExParams.Length);
        }
예제 #14
0
        public void TweenSharkConstructorTest()
        {
            var         obj      = new TweeningTestObject();
            const float duration = 1F;
            var         tweenOps = new TweenOps();

            var tweenShark = new TweenShark(obj, duration, tweenOps);

            Assert.AreSame(obj, tweenShark.Obj);
            Assert.AreEqual(duration, tweenShark.Duration);
            Assert.AreSame(tweenOps, tweenShark.TweenOps);
        }
예제 #15
0
        public void ToTest()
        {
            object     obj      = null; // TODO: Passenden Wert initialisieren
            float      duration = 0F;   // TODO: Passenden Wert initialisieren
            TweenOps   tweenOps = null; // TODO: Passenden Wert initialisieren
            TweenShark expected = null; // TODO: Passenden Wert initialisieren
            TweenShark actual;

            actual = TweenShark.To(obj, duration, tweenOps);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Überprüfen Sie die Richtigkeit dieser Testmethode.");
        }
예제 #16
0
        public void EaseTest()
        {
            var          target   = new TweenOps();
            EaseFunction easeFunc = Ease.Linear;
            TweenOps     expected = target;
            TweenOps     actual   = target.Ease(easeFunc);

            // test chaining
            Assert.AreEqual(expected, actual);
            // test easing is set
            Assert.AreEqual(Ease.Linear, target.EaseFunc);
        }
예제 #17
0
        public void OnStartTest()
        {
            var target = new TweenOps();
            TweenSharkCallback onStart = tweenShark => { };
            var expected = target;
            var actual   = target.OnStart(onStart);

            // test chaining
            Assert.AreEqual(expected, actual);
            // test if OnStart is set
            Assert.AreEqual(onStart, target.OnStartCallback);
        }
예제 #18
0
        public void OnUpdateTest()
        {
            var target = new TweenOps();
            TweenSharkCallback onUpdate = tweenShark => { };
            var expected = target;
            var actual   = target.OnUpdate(onUpdate);

            // test chaining
            Assert.AreEqual(expected, actual);
            // test if onUpdate is set
            Assert.AreEqual(onUpdate, target.OnUpdateCallback);
        }
예제 #19
0
        public RunningTweenShark(TweenShark tweenShark)
        {
            _tweenShark = tweenShark;
            _tweenOps   = tweenShark.TweenOps;

            StartTicks    = DateTime.Now.Ticks;
            DurationTicks = (uint)(1000 * 10000 * tweenShark.Duration);
            _deltaTicks   = 0;

            _onStart    = _tweenOps.OnStartCallback;
            _onUpdate   = _tweenOps.OnUpdateCallback;
            _onComplete = _tweenOps.OnCompleteCallback;
        }
예제 #20
0
    private void SetupUpGui()
    {
        // Initialize the loaders
        GuiModule.Initialize(this);
//        NetModule.Initialize(this);

        TweenSharkUnity3D.Initialize(this);

        _guiStage = GlobalGui.GetInstance();

        _guiStage.AddChild(
            new Button(new Rect(20, 20, 100, 20), "BUTTON")
            .AddClickHandler(OnButtonInListClicked)
            );

        _guiStage.AddChild(
            _youtubeBox = new Box(new Rect(600, 50, 20, 20), "Youtube Search")
                          .SetAutoAdjustSize(true)
                          .AddChild(
                _searchField = new TextField(new Rect(0, 30, 400, 20))
                               .AddMouseOverHandler(e => Debug.Log("mouse over on SearchField"))
                               .AddMouseOutHandler(e => Debug.Log("mouse out on SearchField"))
                               .AddLeftMouseDownHandler(e => Debug.Log("Left mouse down on SearchField"))
                               .AddLeftMouseUpHandler(e => Debug.Log("Left mouse up on SearchField"))
                )

                          .AddChild(
                new Button(new Rect(480, 30, 100, 20), "Search")
                .AddClickHandler(OnButton1)
                .AddMouseOverHandler(e => Debug.Log("MouseOver search " + e.Target + " " + e.CurrentTarget))
                .AddMouseOutHandler(e => Debug.Log("MouseOut search " + e.Target + " " + e.CurrentTarget))
                )

                          .AddChild(
                new ScrollView(new Rect(0, 100, 580, 350))
                .AddChild(
                    _listView = new VGroup()
                                .AddChild(new Label(new Rect(0, 0, 100, 20), "Text1"))
                                .AddChild(new Label(new Rect(0, 30, 100, 20), "Text2"))
                                .AddChild(new Label(new Rect(0, 60, 100, 20), "Text3"))
                                .AddChild(new Label(new Rect(0, 90, 100, 20), "Text4"))
                                .AddChild(new Label(new Rect(0, 120, 100, 20), "Text5"))
                                .AddChild(new Label(new Rect(0, 150, 100, 20), "Text6"))
                                .AddChild(new Label(new Rect(0, 180, 100, 20), "Text7"))
                                .AddChild(new Label(new Rect(0, 210, 100, 20), "Text8"))
                                .AddChild(new Label(new Rect(0, 240, 100, 20), "Text9"))
                                .SetPadding(20)
                    )
                )
            );

        _listView
        .AddLeftMouseDownHandler(e => Debug.Log("Left mouse down on ListView"))
        .AddLeftMouseUpHandler(e => Debug.Log("Left mouse up on ListView"))
        .AddRightMouseDownHandler(e => Debug.Log("Right mouse down on ListView"))
        .AddRightMouseUpHandler(e => Debug.Log("Right mouse up on ListView"))
        .AddMiddleMouseDownHandler(e => Debug.Log("Middle mouse down on ListView"))
        .AddMiddleMouseUpHandler(e => Debug.Log("Middle mouse up on ListView"))
        ;


        if (_youtubeBox != null)
        {
            _guiStage.AddChild(
                new Button(new Rect(200, 20, 100, 20), "Start Tween")
                .AddClickHandler((e) =>
            {
                var random = new System.Random();
                var opt    = new TweenOps(Ease.OutQuad)
                             .PropTo("X", random.Next(800))
                             .PropTo("Y", random.Next(500))
                             .PropTo("PaddingTop", random.Next(100))
                ;
                TweenShark.To(_youtubeBox, 1f + random.Next(2), opt);

                opt = new TweenOps(Ease.InOutQuad)
                      .PropTo("_sbyte", 100)
                      .PropTo("_byte", 100)
                      .PropTo("_short", 100)
                      .PropTo("_ushort", 100)
                      .PropTo("_int", 100)
                      .PropTo("_uint", 100)
                      .PropTo("_long", 100)
                      .PropTo("_ulong", 100)
                      .PropTo("_float", 100)
                      .PropTo("_double", 100)
                ;

                TweenShark.To(_tweenedObject, 10, opt);
            })
                );

            _youtubeBox.AddClickHandler(onBox1Clicked);
        }

        _guiStage.AddClickHandler(onStageClick);
    }
예제 #21
0
 internal TweenShark(object obj, float durationInSeconds, TweenOps tweenOps)
 {
     Obj      = obj;
     Duration = durationInSeconds;
     TweenOps = tweenOps;
 }