Skip to content

Commit 31b09aa

Browse files
committed
Update Gut addon to 9.3.0
1 parent ad5a560 commit 31b09aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+2306
-1417
lines changed

addons/gut/GutScene.gd

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,6 @@ func use_compact_mode(should=true):
125125
func set_opacity(val):
126126
_normal_gui.modulate.a = val
127127
_compact_gui.modulate.a = val
128+
129+
func set_title(text):
130+
_set_both_titles(text)

addons/gut/autofree.gd

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,3 @@ func free_all():
5555
if(is_instance_valid(_to_queue_free[i])):
5656
_to_queue_free[i].queue_free()
5757
_to_queue_free.clear()
58-
59-

addons/gut/awaiter.gd

Lines changed: 47 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,21 @@ extends Node
33
signal timeout
44
signal wait_started
55

6-
var _wait_time = 0.0
7-
var _wait_frames = 0
6+
var _wait_time := 0.0
7+
var _wait_frames := 0
88
var _signal_to_wait_on = null
99

10-
var _elapsed_time = 0.0
11-
var _elapsed_frames = 0
10+
var _predicate_function_waiting_to_be_true = null
11+
var _predicate_time_between := 0.0
12+
var _predicate_time_between_elpased := 0.0
13+
14+
var _did_last_wait_timeout = false
15+
var did_last_wait_timeout = false :
16+
get: return _did_last_wait_timeout
17+
set(val): push_error("Cannot set did_last_wait_timeout")
18+
19+
var _elapsed_time := 0.0
20+
var _elapsed_frames := 0
1221

1322

1423
func _physics_process(delta):
@@ -22,49 +31,75 @@ func _physics_process(delta):
2231
if(_elapsed_frames >= _wait_frames):
2332
_end_wait()
2433

34+
if(_predicate_function_waiting_to_be_true != null):
35+
_predicate_time_between_elpased += delta
36+
if(_predicate_time_between_elpased >= _predicate_time_between):
37+
_predicate_time_between_elpased = 0.0
38+
var result = _predicate_function_waiting_to_be_true.call()
39+
if(typeof(result) == TYPE_BOOL and result):
40+
_end_wait()
41+
2542

2643
func _end_wait():
44+
# Check for time before checking for frames so that the extra frames added
45+
# when waiting on a signal do not cause a false negative for timing out.
46+
if(_wait_time > 0):
47+
_did_last_wait_timeout = _elapsed_time >= _wait_time
48+
elif(_wait_frames > 0):
49+
_did_last_wait_timeout = _elapsed_frames >= _wait_frames
50+
2751
if(_signal_to_wait_on != null and _signal_to_wait_on.is_connected(_signal_callback)):
2852
_signal_to_wait_on.disconnect(_signal_callback)
2953

3054
_wait_time = 0.0
3155
_wait_frames = 0
3256
_signal_to_wait_on = null
57+
_predicate_function_waiting_to_be_true = null
3358
_elapsed_time = 0.0
3459
_elapsed_frames = 0
3560
timeout.emit()
3661

3762

3863
const ARG_NOT_SET = '_*_argument_*_is_*_not_set_*_'
3964
func _signal_callback(
40-
arg1=ARG_NOT_SET, arg2=ARG_NOT_SET, arg3=ARG_NOT_SET,
41-
arg4=ARG_NOT_SET, arg5=ARG_NOT_SET, arg6=ARG_NOT_SET,
42-
arg7=ARG_NOT_SET, arg8=ARG_NOT_SET, arg9=ARG_NOT_SET):
65+
_arg1=ARG_NOT_SET, _arg2=ARG_NOT_SET, _arg3=ARG_NOT_SET,
66+
_arg4=ARG_NOT_SET, _arg5=ARG_NOT_SET, _arg6=ARG_NOT_SET,
67+
_arg7=ARG_NOT_SET, _arg8=ARG_NOT_SET, _arg9=ARG_NOT_SET):
4368

4469
_signal_to_wait_on.disconnect(_signal_callback)
4570
# DO NOT _end_wait here. For other parts of the test to get the signal that
4671
# was waited on, we have to wait for a couple more frames. For example, the
4772
# signal_watcher doesn't get the signal in time if we don't do this.
4873
_wait_frames = 2
4974

50-
51-
func wait_for(x):
75+
func wait_seconds(x):
76+
_did_last_wait_timeout = false
5277
_wait_time = x
5378
wait_started.emit()
5479

5580

5681
func wait_frames(x):
82+
_did_last_wait_timeout = false
5783
_wait_frames = x
5884
wait_started.emit()
5985

6086

61-
func wait_for_signal(the_signal, x):
87+
func wait_for_signal(the_signal, max_time):
88+
_did_last_wait_timeout = false
6289
the_signal.connect(_signal_callback)
6390
_signal_to_wait_on = the_signal
64-
_wait_time = x
91+
_wait_time = max_time
92+
wait_started.emit()
93+
94+
95+
func wait_until(predicate_function: Callable, max_time, time_between_calls:=0.0):
96+
_predicate_time_between = time_between_calls
97+
_predicate_function_waiting_to_be_true = predicate_function
98+
_predicate_time_between_elpased = 0.0
99+
_did_last_wait_timeout = false
100+
_wait_time = max_time
65101
wait_started.emit()
66102

67103

68104
func is_waiting():
69105
return _wait_time != 0.0 || _wait_frames != 0
70-

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy