@@ -3,19 +3,20 @@ class_name HUD
3
3
4
4
## vars ########################################################
5
5
6
- @onready var puzzle_num_label = $% LevelNum
7
- @onready var puzzle_message_label = $% LevelMessage
8
- @onready var dots_remaining_label = $% DotsRemaining
6
+ @onready var puzzle_num_label : RichTextLabel = $% LevelNum
7
+ @onready var puzzle_message_label : RichTextLabel = $% LevelMessage
8
+ @onready var dots_remaining_label : RichTextLabel = $% DotsRemaining
9
9
10
- @onready var undo_control_hint = $% UndoControlHint
11
- @onready var reset_control_hint = $% ResetControlHint
12
- @onready var undo_label = $% UndoLabel
13
- @onready var reset_label = $% ResetLabel
14
- @onready var undo_input_icon = $% UndoInputIcon
15
- @onready var reset_input_icon = $% ResetInputIcon
10
+ @onready var undo_control_hint : BoxContainer = $% UndoControlHint
11
+ @onready var reset_control_hint : BoxContainer = $% ResetControlHint
12
+ @onready var undo_label : RichTextLabel = $% UndoLabel
13
+ @onready var reset_label : RichTextLabel = $% ResetLabel
16
14
17
- @onready var undo_button = $% UndoButton
18
- @onready var reset_button = $% ResetButton
15
+ @onready var undo_input_icon : ActionInputIcon = $% UndoInputIcon
16
+ @onready var reset_input_icon : ActionInputIcon = $% ResetInputIcon
17
+
18
+ @onready var undo_button : Button = $% UndoButton
19
+ @onready var reset_button : Button = $% ResetButton
19
20
20
21
signal undo_pressed
21
22
signal reset_pressed
@@ -24,25 +25,25 @@ var puzzle_def: PuzzleDef
24
25
25
26
## ready ########################################################
26
27
27
- func _ready ():
28
+ func _ready () -> void :
28
29
set_control_icons ()
29
- InputHelper .device_changed .connect (func (_device , _di ) : set_control_icons ())
30
- InputHelper .joypad_changed .connect (func (_di , _connected ) : set_control_icons ())
31
- InputHelper .keyboard_input_changed .connect (func (_action , _event ) : set_control_icons ())
32
- InputHelper .joypad_input_changed .connect (func (_action , _event ) : set_control_icons ())
30
+ InputHelper .device_changed .connect (func (_device : String , _di : int ) -> void : set_control_icons ())
31
+ InputHelper .joypad_changed .connect (func (_di : int , _connected : bool ) -> void : set_control_icons ())
32
+ InputHelper .keyboard_input_changed .connect (func (_action : String , _event : InputEvent ) -> void : set_control_icons ())
33
+ InputHelper .joypad_input_changed .connect (func (_action : String , _event : InputEvent ) -> void : set_control_icons ())
33
34
34
- reset_button .pressed .connect (func (): reset_pressed .emit ())
35
- undo_button .pressed .connect (func (): undo_pressed .emit ())
35
+ reset_button .pressed .connect (func () -> void : reset_pressed .emit ())
36
+ undo_button .pressed .connect (func () -> void : undo_pressed .emit ())
36
37
37
- func set_control_icons ():
38
+ func set_control_icons () -> void :
38
39
undo_input_icon .set_icon_for_action ("ui_undo" )
39
40
reset_input_icon .set_icon_for_action ("restart" )
40
41
41
42
## unhandled_input ########################################################
42
43
43
- func _unhandled_input (event ) :
44
- var is_restart_held = Trolls .is_restart_held (event )
45
- var is_restart_released = Trolls .is_restart_released (event )
44
+ func _unhandled_input (event : InputEvent ) -> void :
45
+ var is_restart_held : bool = Trolls .is_restart_held (event )
46
+ var is_restart_released : bool = Trolls .is_restart_released (event )
46
47
47
48
if is_restart_held :
48
49
show_resetting ()
@@ -51,9 +52,9 @@ func _unhandled_input(event):
51
52
52
53
## update ########################################################
53
54
54
- var last_puzzle_update
55
+ var last_puzzle_update : Dictionary
55
56
56
- func update_state (data ) :
57
+ func update_state (data : Dictionary ) -> void :
57
58
last_puzzle_update = data
58
59
59
60
puzzle_def = data .puzzle_def
@@ -63,9 +64,9 @@ func update_state(data):
63
64
64
65
## puzzle number ########################################################
65
66
66
- func update_puzzle_number (entry ) :
67
+ func update_puzzle_number (entry : Dictionary ) -> void :
67
68
if "puzzles_remaining" in entry :
68
- var rem = entry .puzzles_remaining
69
+ var rem : int = entry .puzzles_remaining
69
70
if rem == 0 :
70
71
puzzle_num_label .text = "[center]Puzzle set complete![/center]"
71
72
elif rem == 1 :
@@ -75,50 +76,50 @@ func update_puzzle_number(entry):
75
76
76
77
## message ########################################################
77
78
78
- func update_puzzle_message ():
79
+ func update_puzzle_message () -> void :
79
80
if puzzle_def .get_message ():
80
81
puzzle_message_label .text = "[center]%s [/center]" % puzzle_def .get_message ()
81
82
82
83
## dots remaining ########################################################
83
84
84
- func update_dots_remaining (entry ) :
85
+ func update_dots_remaining (entry : Dictionary ) -> void :
85
86
if "dots_total" in entry :
86
87
dots_remaining_label .text = "[center]%s dots left[/center]" % entry .dots_remaining
87
88
88
89
## controls ########################################################
89
90
90
- func controls ():
91
- var cts = []
91
+ func controls () -> Array :
92
+ var cts : Array = []
92
93
if not resetting :
93
94
cts .append (reset_control_hint )
94
95
if not undoing :
95
96
cts .append (undo_control_hint )
96
97
return cts
97
98
98
- var fade_controls_tween
99
- func fade_controls ():
99
+ var fade_controls_tween : Tween
100
+ func fade_controls () -> void :
100
101
if fade_controls_tween != null and fade_controls_tween .is_running ():
101
102
return
102
103
fade_controls_tween = create_tween ()
103
104
# wait a bit before fading
104
105
fade_controls_tween .tween_interval (0.8 )
105
- controls ().map (func (c ) :
106
+ controls ().map (func (c : CanvasItem ) -> void :
106
107
fade_controls_tween .parallel ().tween_property (c , "modulate:a" , 0.5 , 0.8 ))
107
108
108
- var show_controls_tween
109
- func show_controls (force = false ):
109
+ var show_controls_tween : Tween
110
+ func show_controls (force : bool = false ) -> void :
110
111
Log .pr ("showing controls (force: " , force , ")" )
111
112
if show_controls_tween != null and show_controls_tween .is_running ():
112
113
show_controls_tween .kill ()
113
114
if not force :
114
115
return
115
116
show_controls_tween = create_tween ()
116
- controls ().map (func (c ) :
117
+ controls ().map (func (c : CanvasItem ) -> void :
117
118
show_controls_tween .parallel ().tween_property (c , "modulate:a" , 1.0 , 0.6 ))
118
119
119
120
# could probably just use a timer, but meh
120
- var controls_tween
121
- func restart_fade_in_controls_tween ():
121
+ var controls_tween : Tween
122
+ func restart_fade_in_controls_tween () -> void :
122
123
fade_controls ()
123
124
if controls_tween != null :
124
125
controls_tween .kill ()
@@ -127,10 +128,10 @@ func restart_fade_in_controls_tween():
127
128
128
129
## undoing ########################################################
129
130
130
- var undoing
131
- var undo_tween
132
- var undo_t = 0.3
133
- func animate_undo ():
131
+ var undoing : bool
132
+ var undo_tween : Tween
133
+ var undo_t : float = 0.3
134
+ func animate_undo () -> void :
134
135
undoing = true
135
136
136
137
undo_control_hint .set_pivot_offset (undo_control_hint .size / 2 )
@@ -142,14 +143,14 @@ func animate_undo():
142
143
undo_tween .tween_property (undo_control_hint , "modulate:a" , 1.0 , undo_t / 4 )
143
144
undo_tween .parallel ().tween_property (undo_control_hint , "scale" , Vector2 .ONE * 1.4 , undo_t / 2 )
144
145
undo_tween .tween_property (undo_control_hint , "scale" , Vector2 .ONE , undo_t / 2 )
145
- undo_tween .tween_callback (func (): undoing = false )
146
+ undo_tween .tween_callback (func () -> void : undoing = false )
146
147
147
148
## restarting ########################################################
148
149
149
- var resetting
150
- var reset_tween
151
- func show_resetting ():
152
- var hold_t = DHData .reset_hold_t
150
+ var resetting : bool
151
+ var reset_tween : Tween
152
+ func show_resetting () -> void :
153
+ var hold_t : float = DHData .reset_hold_t
153
154
resetting = true
154
155
reset_label .text = "Hold..."
155
156
@@ -163,7 +164,7 @@ func show_resetting():
163
164
# presumably we're back at the beginning
164
165
reset_tween .tween_callback (hide_resetting )
165
166
166
- func hide_resetting ():
167
+ func hide_resetting () -> void :
167
168
resetting = false
168
169
if reset_tween != null :
169
170
reset_tween .kill ()
0 commit comments