@@ -18,6 +18,18 @@ function runFrames(frames: number) {
18
18
}
19
19
}
20
20
21
+ function randomTickSeconds ( time : number ) {
22
+ let totalTime = 0 ;
23
+ for ( ; ; ) {
24
+ const dt = 0.016 * 2 * Math . random ( ) ;
25
+ director . tick ( dt ) ;
26
+ totalTime += dt ;
27
+ if ( totalTime >= time ) {
28
+ break ;
29
+ }
30
+ }
31
+ }
32
+
21
33
test ( 'remove actions by tag' , function ( ) {
22
34
const scene = new Scene ( 'test-tags' ) ;
23
35
const node = new Node ( ) ;
@@ -4850,7 +4862,7 @@ test('updateUntil 2', function () {
4850
4862
const target2 = { x : 0 } ;
4851
4863
4852
4864
tween ( node )
4853
- . delay ( 1 )
4865
+ . delay ( 1 ) // 1s
4854
4866
. sequence (
4855
4867
tween ( node ) . parallel (
4856
4868
tween ( node ) . by ( 1 , { position : v3 ( 90 , 90 , 90 ) } ) . call ( cb ) ,
@@ -4863,10 +4875,10 @@ test('updateUntil 2', function () {
4863
4875
}
4864
4876
return false ;
4865
4877
} , 1 , false , 'hello' ) ,
4866
- tween ( node ) . by ( 3 , { scale : v3 ( 30 , 30 , 30 ) } )
4878
+ tween ( node ) . by ( 3 , { scale : v3 ( 30 , 30 , 30 ) } ) // 3s
4867
4879
) ,
4868
4880
tween ( node ) . call ( cb2 ) ,
4869
- tween ( target2 ) . by ( 1 , { x : 100 } ) ,
4881
+ tween ( target2 ) . by ( 1 , { x : 100 } ) , // 1s
4870
4882
)
4871
4883
. updateUntil ( ( target : Node , dt : number , arg0 : number , arg1 : boolean , arg2 : string ) : boolean => {
4872
4884
elapsed += dt ;
@@ -4876,7 +4888,7 @@ test('updateUntil 2', function () {
4876
4888
return true ;
4877
4889
}
4878
4890
return false ;
4879
- } , 2 , true , 'world' )
4891
+ } , 2 , true , 'world' ) // 2s
4880
4892
. start ( ) ;
4881
4893
4882
4894
runFrames ( 1 ) ; // Start
@@ -4911,6 +4923,34 @@ test('updateUntil 2', function () {
4911
4923
director . unregisterSystem ( sys ) ;
4912
4924
} ) ;
4913
4925
4926
+ test ( 'updateUntil 3' , function ( ) {
4927
+ const sys = new TweenSystem ( ) ;
4928
+ ( TweenSystem . instance as any ) = sys ;
4929
+ director . registerSystem ( TweenSystem . ID , sys , System . Priority . MEDIUM ) ;
4930
+
4931
+ const node = new Node ( ) ;
4932
+
4933
+ let testNumber = 0 ;
4934
+ tween ( node )
4935
+ . delay ( 1 )
4936
+ . call ( ( ) => {
4937
+ testNumber ++ ;
4938
+ } )
4939
+ . updateUntil ( ( ) => {
4940
+ return false ;
4941
+ } )
4942
+ . start ( ) ;
4943
+
4944
+ runFrames ( 1 ) ; // Start
4945
+ randomTickSeconds ( 1 ) ;
4946
+ expect ( testNumber ) . toBe ( 1 ) ;
4947
+
4948
+ randomTickSeconds ( 1 ) ;
4949
+ expect ( testNumber ) . toBe ( 1 ) ;
4950
+
4951
+ director . unregisterSystem ( sys ) ;
4952
+ } ) ;
4953
+
4914
4954
test ( 'parallel with two call tween' , function ( ) {
4915
4955
const sys = new TweenSystem ( ) ;
4916
4956
( TweenSystem . instance as any ) = sys ;
0 commit comments