mirror of
https://github.com/Cardidi/dotween-upm-fork.git
synced 2025-12-21 01:36:05 +08:00
73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
using DG.Tweening;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
// Code to replicate by Andrey Timofeev: https://github.com/Demigiant/dotween/pull/288/files#diff-0
|
|
public class IndexOutOfRange04 : BrainBase
|
|
{
|
|
public static int updateCounter = -1;
|
|
|
|
int _callCounter = 0;
|
|
|
|
void Start()
|
|
{
|
|
Time.maximumDeltaTime = 0.02f;
|
|
DOTween.Init(true, true, LogBehaviour.Verbose);
|
|
DOTween.SetTweensCapacity(1000, 1000);
|
|
StartCoroutine(CoTest());
|
|
}
|
|
|
|
IEnumerator CoTest()
|
|
{
|
|
updateCounter = -1;
|
|
yield return null;
|
|
yield return null;
|
|
yield return null;
|
|
updateCounter = 0;
|
|
|
|
StartSequence(0.75f, true); // callNumber 1
|
|
|
|
yield return new WaitForSeconds(0.5f);
|
|
|
|
var t0 = StartSequence(0.75f, false); // callNumber 2
|
|
|
|
yield return new WaitForSeconds(0.5f);
|
|
|
|
var t1 = StartSequence(99999f, false); // callNumber 3
|
|
StartSequence(99999f, false); // callNumber 4
|
|
|
|
while (t1.active) yield return null;
|
|
// while (t0.active) yield return null;
|
|
Debug.Log("Done waiting for tween");
|
|
|
|
StartSequence(99999f, true); // callNumber 5
|
|
}
|
|
|
|
Tweener StartSequence(float duration, bool failStart)
|
|
{
|
|
int callNumber = ++_callCounter;
|
|
Debug.Log(string.Format("StartSequence, callNumber:{0} duration:{1} failStart:{2}", callNumber, duration, failStart));
|
|
|
|
GameObject go = new GameObject(callNumber.ToString());
|
|
|
|
var sequence = DOTween.Sequence();
|
|
var tweener = go.transform.DOMoveX(callNumber + 1000, duration);
|
|
sequence.Append(tweener);
|
|
|
|
if (failStart) {
|
|
Debug.Log(string.Format("Destroying gameobject, callNumber {0}", callNumber));
|
|
Destroy(go);
|
|
}
|
|
|
|
return tweener;
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
// if (updateCounter >= 0) {
|
|
// Debug.Log(string.Format("Update {0}, time: {1}", updateCounter, Time.time));
|
|
// ++updateCounter;
|
|
// }
|
|
}
|
|
}
|