Exemple #1
0
    void OnGUI()
    {
        DGUtils.BeginGUI();
        GUILayout.Space(50);

        float elapsed;

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("TogglePause by Int Id"))
        {
            elapsed = Time.realtimeSinceStartup;
            DOTween.TogglePause(15);
            Debug.Log("elapsed: " + (decimal)(Time.realtimeSinceStartup - elapsed));
        }
        if (GUILayout.Button("TogglePause by String Id"))
        {
            elapsed = Time.realtimeSinceStartup;
            DOTween.TogglePause("aString");
            Debug.Log("elapsed: " + (decimal)(Time.realtimeSinceStartup - elapsed));
        }
        if (GUILayout.Button("TogglePause by Object Id"))
        {
            elapsed = Time.realtimeSinceStartup;
            DOTween.TogglePause(objectId);
            Debug.Log("elapsed: " + (decimal)(Time.realtimeSinceStartup - elapsed));
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
 void OnGUI()
 {
     DGUtils.BeginGUI();
     GUILayout.BeginHorizontal();
     if (GUILayout.Button("Toggle Pause"))
     {
         DOTween.TogglePauseAll();
     }
     if (GUILayout.Button("Rewind"))
     {
         Debug.Log("<color=#ff0000>REWIND</color>");
         DOTween.RewindAll();
     }
     if (GUILayout.Button("Restart"))
     {
         Debug.Log("<color=#ff0000>RESTART</color>");
         DOTween.RestartAll();
     }
     if (GUILayout.Button("Flip"))
     {
         DOTween.FlipAll();
     }
     GUILayout.EndHorizontal();
     DGUtils.EndGUI();
 }
Exemple #3
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Startup 2,000 position tweens"))
        {
            StartCoroutine(StartupPos(2000));
        }
        if (GUILayout.Button("Startup 2,000 float tweens"))
        {
            StartCoroutine(StartupFloats(2000));
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Startup 5,000 position tweens"))
        {
            StartCoroutine(StartupPos(5000));
        }
        if (GUILayout.Button("Startup 5,000 float tweens"))
        {
            StartCoroutine(StartupFloats(5000));
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Startup 10,000 position tweens"))
        {
            StartCoroutine(StartupPos(10000));
        }
        if (GUILayout.Button("Startup 10,000 float tweens"))
        {
            StartCoroutine(StartupFloats(10000));
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Startup 20,000 position tweens"))
        {
            StartCoroutine(StartupPos(20000));
        }
        if (GUILayout.Button("Startup 20,000 float tweens"))
        {
            StartCoroutine(StartupFloats(20000));
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Startup 32,000 position tweens"))
        {
            StartCoroutine(StartupPos(32000));
        }
        if (GUILayout.Button("Startup 32,000 float tweens"))
        {
            StartCoroutine(StartupFloats(32000));
        }
        GUILayout.EndHorizontal();

        GUILayout.Label("Startup time: " + startupTime);

        DGUtils.EndGUI();
    }
Exemple #4
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        followMode = (FollowMode)GUILayout.Toolbar((int)followMode, followModeList);

        DGUtils.EndGUI();
    }
Exemple #5
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("New FROM"))
        {
            FromTween();
        }

        DGUtils.EndGUI();
    }
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("Init"))
        {
            DOTween.Init();
        }

        DGUtils.EndGUI();
    }
Exemple #7
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("Tween"))
        {
            Tween();
        }

        DGUtils.EndGUI();
    }
Exemple #8
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("Kill"))
        {
            DOTween.Kill();
        }

        DGUtils.EndGUI();
    }
Exemple #9
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("Rotate 2D 360"))
        {
            r2D.DORotate(360, 1);
        }
        if (GUILayout.Button("Rotate 2D 360 Relative"))
        {
            r2D.DORotate(360, 1).SetRelative();
        }

        DGUtils.EndGUI();
    }
Exemple #10
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("Set TimeScale to 0"))
        {
            Time.timeScale = 0;
        }
        if (GUILayout.Button("Set TimeScale to 1"))
        {
            Time.timeScale = 1;
        }

        DGUtils.EndGUI();
    }
    void CreateFromSequence()
    {
        Transform target = ((GameObject)Instantiate(prefab)).transform;
        Sequence  seq    = DOTween.Sequence()
                           .SetId("FROM Sequence")
                           .OnStart(() => DGUtils.Log("FROM Sequence Start"))
                           .OnStepComplete(() => { stepCompleteS2++; DGUtils.Log("FROM SEQUENCE Step Complete"); })
                           .OnComplete(() => DGUtils.Log("FROM SEQUENCE Complete"));

        seq.Append(target.DOMove(new Vector3(0, -3, 0), 1)
                   .From(true)
                   );
        seq.Append(target.DOMove(new Vector3(0, 3, 0), 1)
                   .From(true)
                   );
    }
Exemple #12
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("TogglePause"))
        {
            DOTween.TogglePauseAll();
        }
        if (GUILayout.Button("Restart"))
        {
            DOTween.RestartAll();
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("Tween LineRenderer Colors"))
        {
            lineRenderer.DOColor(new Color2(Color.white, Color.white), new Color2(Color.red, Color.white), 2).SetLoops(-1, LoopType.Yoyo);
        }
        if (GUILayout.Button("Tween TrailRenderer's Sizes"))
        {
            trailRenderer.DOResize(2, 4, 2).SetLoops(-1, LoopType.Yoyo);
        }
        if (GUILayout.Button("Tween TrailRenderer's Time"))
        {
            trailRenderer.DOTime(0.001f, 2).SetLoops(-1, LoopType.Yoyo);
        }

        DGUtils.EndGUI();
    }
Exemple #14
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("Play"))
        {
            DOTween.PlayAll();
        }
        if (GUILayout.Button("Kill"))
        {
            DOTween.KillAll();
        }
        if (GUILayout.Button("Rewind"))
        {
            DOTween.RewindAll();
        }

        DGUtils.EndGUI();
    }
Exemple #15
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Play"))
        {
            HOTween.Play();
        }
        if (GUILayout.Button("Pause"))
        {
            HOTween.Pause();
        }
        if (GUILayout.Button("Kill"))
        {
            HOTween.Kill();
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
Exemple #16
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("LookAt"))
        {
            // target.DOLookAt(lookAtTarget.position, 0.15f, axisConstraint, Vector3.up);

            lookAtPos = lookAtTarget.position;
            lookAtPos = target.InverseTransformPoint(lookAtPos);
            // lookAtPos.y = 0;
            lookAtPos = target.TransformPoint(lookAtPos);
            target.LookAt(lookAtPos, target.up);
        }
        if (GUILayout.Button("Reset"))
        {
            target.rotation = targetOrRot;
        }

        DGUtils.EndGUI();
    }
Exemple #17
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.Label("Is backwards: " + pathTweens[0].isBackwards);
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Play"))
        {
            DOTween.Play();
        }
        if (GUILayout.Button("Flip"))
        {
            DOTween.Flip();
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Goto duration x 2"))
        {
            DOTween.Goto(duration * 2);
        }
        if (GUILayout.Button("Goto duration x 0.5"))
        {
            DOTween.Goto(duration * 0.5f);
        }
        if (GUILayout.Button("Goto WP 0"))
        {
            pathTweens[0].GotoWaypoint(0);
        }
        if (GUILayout.Button("Goto WP 2"))
        {
            pathTweens[0].GotoWaypoint(2);
        }
        if (GUILayout.Button("Goto WP 15"))
        {
            pathTweens[0].GotoWaypoint(15);
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
Exemple #18
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("TogglePause"))
        {
            DOTween.TogglePauseAll();
        }
        if (GUILayout.Button("Complete"))
        {
            DOTween.CompleteAll();
        }
        if (GUILayout.Button("Restart"))
        {
            DOTween.RestartAll();
        }
        if (GUILayout.Button("Rewind"))
        {
            DOTween.RewindAll();
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Goto 1"))
        {
            DOTween.GotoAll(1);
        }
        if (GUILayout.Button("Goto 2"))
        {
            DOTween.GotoAll(2);
        }
        if (GUILayout.Button("Goto 3"))
        {
            DOTween.GotoAll(3);
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
Exemple #19
0
    void OnGUI()
    {
        DGUtils.BeginGUI();
        GUILayout.Space(50);

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("TogglePause by Id"))
        {
            DOTween.TogglePause(0);
        }
        if (GUILayout.Button("TogglePause by StringId"))
        {
            DOTween.TogglePause("string");
        }
        if (GUILayout.Button("TogglePause by ObjId"))
        {
            DOTween.TogglePause(this);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("TogglePause by Transform (0)"))
        {
            DOTween.TogglePause(ts[0]);
        }
        if (GUILayout.Button("TogglePause by Transform (1)"))
        {
            DOTween.TogglePause(ts[1]);
        }
        // This won't work because target was changed by applying a different objId
        if (GUILayout.Button("TogglePause by Transform (2)"))
        {
            DOTween.TogglePause(ts[2]);
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
Exemple #20
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("TogglePause"))
        {
            DOTween.TogglePause();
        }
        if (GUILayout.Button("Rewind"))
        {
            DOTween.Rewind();
        }
        if (GUILayout.Button("Rewind"))
        {
            DOTween.Complete();
        }
        GUILayout.EndHorizontal();

        GUILayout.Label("Virtual tween result: " + propSetViaVirtualTween);

        DGUtils.EndGUI();
    }
Exemple #21
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        DGUtils.GUIScrubber(controller);

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("TogglePause"))
        {
            DOTween.TogglePause();
        }
        if (GUILayout.Button("Goto 1.5"))
        {
            DOTween.Goto(1.5f);
        }
        if (GUILayout.Button("Kill"))
        {
            DOTween.Kill();
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Restart"))
        {
            ResetStepsCounters();
            mainSequence.Restart();
        }
        if (GUILayout.Button("Rewind"))
        {
            ResetStepsCounters();
            mainSequence.Rewind();
        }
        if (GUILayout.Button("Complete"))
        {
            mainSequence.Complete();
        }
        if (GUILayout.Button("Flip"))
        {
            mainSequence.Flip();
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("TogglePause"))
        {
            mainSequence.TogglePause();
        }
        if (GUILayout.Button("PlayForward"))
        {
            mainSequence.PlayForward();
        }
        if (GUILayout.Button("PlayBackwards"))
        {
            mainSequence.PlayBackwards();
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Kill All"))
        {
            DOTween.Kill();
        }
        if (GUILayout.Button("Create MAIN Sequence"))
        {
            mainSequence = CreateSequence();
        }
        if (GUILayout.Button("Create FROM Sequence"))
        {
            CreateFromSequence();
        }
        if (GUILayout.Button("Create Tween"))
        {
            CreateTween();
        }
        GUILayout.EndHorizontal();

        GUILayout.Space(10);
        sb.Remove(0, sb.Length);
        sb.Append("IsPlaying: ").Append(mainSequence.IsPlaying());
        sb.Append("\nIsBackwards: ").Append(mainSequence.IsBackwards());
        sb.Append("\nElapsed: ").Append(mainSequence.Elapsed(false));
        sb.Append("\nFullElapsed: ").Append(mainSequence.Elapsed());
        sb.Append("\nCompletedLoops: ").Append(mainSequence.CompletedLoops());
        GUILayout.Label(sb.ToString());

        GUILayout.Space(10);
        sb.Remove(0, sb.Length);
        sb.Append("MAINSequence Steps/Complete: ").Append(stepCompleteMS).Append("/").Append(completeMS);
        sb.Append("\nSequence OUTER Steps/Complete: ").Append(stepCompleteS1).Append("/").Append(completeS1);
        sb.Append("\nSequence INNER Steps/Complete: ").Append(stepCompleteS2).Append("/").Append(completeS2);
        sb.Append("\nMove Steps/Complete: ").Append(stepCompleteT1).Append("/").Append(completeT1);
        sb.Append("\nRotation Steps/Complete: ").Append(stepCompleteT2).Append("/").Append(completeT2);
        sb.Append("\nColor Steps/Complete: ").Append(stepCompleteT3).Append("/").Append(completeT3);
        GUILayout.Label(sb.ToString());

        DGUtils.EndGUI();
    }
Exemple #23
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Shake Camera Position"))
        {
            ShakePosition(true);
        }
        if (GUILayout.Button("Shake Camera Position + LookAt"))
        {
            ShakePosition(true, targets[0].position);
        }
        if (GUILayout.Button("Shake Camera Rotation"))
        {
            ShakeRotation(true);
        }
        if (GUILayout.Button("Shake Camera All"))
        {
            ShakePosition(true);
            ShakeRotation(true);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Shake Position"))
        {
            ShakePosition();
        }
        if (GUILayout.Button("Shake Rotation"))
        {
            ShakeRotation();
        }
        if (GUILayout.Button("Shake Scale"))
        {
            ShakeScale();
        }
        if (GUILayout.Button("Shake All"))
        {
            ShakePosition();
            ShakeRotation();
            ShakeScale();
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Punch Position"))
        {
            PunchPosition();
        }
        if (GUILayout.Button("Punch Scale"))
        {
            PunchScale();
        }
        if (GUILayout.Button("Punch Rotation"))
        {
            PunchRotation();
        }
        if (GUILayout.Button("Punch All"))
        {
            PunchPosition();
            PunchRotation();
            PunchScale();
        }
        if (GUILayout.Button("Punch All Semi-Random"))
        {
            PunchPosition(true);
            PunchRotation(true);
            PunchScale(true);
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
Exemple #24
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        if (GUILayout.Button("TogglePause"))
        {
            DOTween.TogglePause();
        }

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Rewind"))
        {
            DOTween.Rewind();
        }
        if (GUILayout.Button("Restart"))
        {
            DOTween.Restart();
        }
        if (GUILayout.Button("Complete"))
        {
            DOTween.Complete();
        }
        if (GUILayout.Button("Flip"))
        {
            DOTween.Flip();
        }
        if (GUILayout.Button("Goto 0.5"))
        {
            DOTween.Goto(0.5f);
        }
        if (GUILayout.Button("Goto 1"))
        {
            DOTween.Goto(1);
        }
        if (GUILayout.Button("Goto 1.5"))
        {
            DOTween.Goto(1.5f);
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Sequence > LoopType.Restart"))
        {
            NewSequence(LoopType.Restart, false);
        }
        if (GUILayout.Button("Sequence > LoopType.Restart > Flipped"))
        {
            NewSequence(LoopType.Restart, true);
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Sequence > LoopType.Yoyo"))
        {
            NewSequence(LoopType.Yoyo, false);
        }
        if (GUILayout.Button("Sequence > LoopType.Yoyo > Flipped"))
        {
            NewSequence(LoopType.Yoyo, true);
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
Exemple #25
0
    void OnGUI()
    {
        DGUtils.BeginGUI();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Play All"))
        {
            Debug.Log("Played tweens: " + DOTween.PlayAll());
        }
        if (GUILayout.Button("Pause All"))
        {
            Debug.Log("Paused tweens: " + DOTween.PauseAll());
        }
        if (GUILayout.Button("Kill All"))
        {
            Debug.Log("Killed tweens: " + DOTween.KillAll());
        }
        if (GUILayout.Button("Complete+Kill All"))
        {
            Debug.Log("Killed tweens: " + DOTween.KillAll(true));
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Rewind All"))
        {
            Debug.Log("Rewinded tweens: " + DOTween.RewindAll());
        }
        if (GUILayout.Button("Restart All"))
        {
            Debug.Log("Restarted tweens: " + DOTween.RestartAll());
        }
        if (GUILayout.Button("Complete All"))
        {
            Debug.Log("Completed tweens: " + DOTween.CompleteAll());
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("PlayForward All"))
        {
            Debug.Log("PlayForwarded tweens: " + DOTween.PlayForwardAll());
        }
        if (GUILayout.Button("PlayBackwards All"))
        {
            Debug.Log("PlayBackwarded tweens: " + DOTween.PlayBackwardsAll());
        }
        if (GUILayout.Button("Flip All"))
        {
            Debug.Log("Flipped tweens: " + DOTween.FlipAll());
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Goto 1.5 All"))
        {
            Debug.Log("Goto-ed tweens: " + DOTween.GotoAll(1.5f));
        }
        if (GUILayout.Button("Goto 3 All"))
        {
            Debug.Log("Goto-ed tweens: " + DOTween.GotoAll(3));
        }
        if (GUILayout.Button("Goto 4.5 All"))
        {
            Debug.Log("Goto-ed tweens: " + DOTween.GotoAll(4.5f));
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Play by Id"))
        {
            Debug.Log("Played tweens: " + DOTween.Play(intId));
        }
        if (GUILayout.Button("Play by StringId"))
        {
            Debug.Log("Played tweens: " + DOTween.Play(stringId));
        }
        if (GUILayout.Button("Play by UnityObjectId"))
        {
            Debug.Log("Played tweens: " + DOTween.Play(this));
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Pause by Id"))
        {
            Debug.Log("Paused tweens: " + DOTween.Pause(intId));
        }
        if (GUILayout.Button("Pause by StringId"))
        {
            Debug.Log("Paused tweens: " + DOTween.Pause(stringId));
        }
        if (GUILayout.Button("Pause by UnityObjectId"))
        {
            Debug.Log("PlaPausedyed tweens: " + DOTween.Pause(this));
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Kill by Id"))
        {
            Debug.Log("Killed tweens: " + DOTween.Kill(intId));
        }
        if (GUILayout.Button("Complete+Kill by Id"))
        {
            Debug.Log("Killed tweens: " + DOTween.Kill(intId, true));
        }
        if (GUILayout.Button("Kill by StringId"))
        {
            Debug.Log("Killed tweens: " + DOTween.Kill(stringId));
        }
        if (GUILayout.Button("Kill by UnityObjectId"))
        {
            Debug.Log("Killed tweens: " + DOTween.Kill(this));
        }
        if (GUILayout.Button("Clear"))
        {
            Debug.Log(":::::::::::: CLEAR");
            DOTween.Clear();
        }
        if (GUILayout.Button("Clear & Reload"))
        {
            Debug.Log(":::::::::::: CLEAR AND RELOAD");
            int level = SceneManager.GetActiveScene().buildIndex;
            DOTween.Clear();
            SceneManager.LoadScene(level);
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        foreach (Tween t in tweens)
        {
            if (GUILayout.Button("Direct Kill"))
            {
                t.Kill();
            }
        }
        GUILayout.EndHorizontal();

        GUILayout.Space(5);

        GUILayout.Label("Global DOTween Timescale");
        GUILayout.BeginHorizontal();
        DOTween.timeScale = GUILayout.HorizontalSlider(DOTween.timeScale, 0.0f, 20.0f);
        if (GUILayout.Button("Reset", GUILayout.Width(80)))
        {
            DOTween.timeScale = 1;
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        for (int i = 0; i < tweens.Length; ++i)
        {
            GUILayout.Label("Single Timescale");
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();
        foreach (Tween t in tweens)
        {
            t.timeScale = GUILayout.HorizontalSlider(t.timeScale, 0.0f, 20.0f, GUILayout.Width(60));
            if (GUILayout.Button("Reset", GUILayout.Width(80)))
            {
                t.timeScale = 1;
            }
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        foreach (Tween t in tweens)
        {
            GUILayout.Label("Elapsed: " + t.Elapsed(false) +
                            "\nFullElapsed: " + t.Elapsed() +
                            "\nElapsed %: " + t.ElapsedPercentage(false) +
                            "\nFullElapsed %: " + t.ElapsedPercentage() +
                            "\nCompleted Loops: " + t.CompletedLoops()
                            );
        }
        GUILayout.EndHorizontal();

        DGUtils.EndGUI();
    }
    Sequence CreateSequence()
    {
        Transform target = ((GameObject)Instantiate(prefab)).transform;
        Material  mat    = target.gameObject.renderer.material;

        Sequence seq = DOTween.Sequence()
                       .SetId("Sequence INNER")
                       .OnStart(() => DGUtils.Log("Sequence INNER Start"))
                       .OnStepComplete(() => { stepCompleteS2++; DGUtils.Log("SEQUENCE INNER Step Complete"); })
                       .OnComplete(() => { completeS2++; });

        seq.AppendInterval(0.5f);
        seq.Append(
            target.DOMove(new Vector3(2, 2, 2), 1f).SetLoops(3, LoopType.Yoyo)
            .SetSpeedBased()             // will not work since it's not allowed
            .SetId("Move")
            .OnStart(() => DGUtils.Log("Move Start"))
            .OnStepComplete(() => { stepCompleteT1++; DGUtils.Log("Move Step Complete"); })
            .OnComplete(() => { completeT1++; })
            );
        seq.Append(
            target.DORotate(new Vector3(0, 225, 2), 1)
            .SetId("Rotate")
            .SetDelay(1)
            .OnStart(() => DGUtils.Log("Rotate Start"))
            .OnStepComplete(() => { stepCompleteT2++; DGUtils.Log("Rotate Step Complete"); })
            .OnComplete(() => { completeT2++; })
            );
        seq.Insert(
            0.5f, mat.DOColor(Color.green, 1)
            .SetId("Color")
            .OnStart(() => DGUtils.Log("Color Start"))
            .OnStepComplete(() => { stepCompleteT3++; DGUtils.Log("Color Step Complete"); })
            .OnComplete(() => { completeT3++; })
            );
        seq.AppendInterval(0.5f);

        seq.InsertCallback(1.25f, () => DGUtils.Log("1.25f Sequence callback"));

        Sequence seqPre = DOTween.Sequence()
                          .SetId("Sequence OUTER")
                          .OnStart(() => DGUtils.Log("Sequence OUTER Start"))
                          .OnStepComplete(() => { stepCompleteS1++; DGUtils.Log("Sequence OUTER Step Complete"); })
                          .OnComplete(() => { completeS1++; });

        seqPre.Append(seq);
        seqPre.PrependInterval(1);

        Sequence mainSeq = DOTween.Sequence().SetUpdate(true).SetLoops(loops, loopType).SetAutoKill(false)
                           .SetId("MAIN SEQUENCE")
                           .OnStart(() => DGUtils.Log("MAINSequence Start"))
                           .OnStepComplete(() => { stepCompleteMS++; DGUtils.Log("MAINSEQUENCE Step Complete"); })
                           .OnComplete(() => { completeMS++; });

        mainSeq.Append(seqPre);
        mainSeq.PrependInterval(1);
        target          = ((GameObject)Instantiate(prefab)).transform;
        target.position = new Vector3(-5, 0, 0);
        mainSeq.Append(target.DOMove(Vector3.zero, 1));

        mainSeq.InsertCallback(1.75f, () => DGUtils.Log("1.75f MAINSEQUENCE callback"));
        mainSeq.PrependCallback(() => DGUtils.Log("1.75f MAINSEQUENCE prepended callback"));

        return(mainSeq);
    }