11extends HBoxContainer
22
3- var levels = [
3+ const LEVELS = [
44 BubbleSort ,
55 InsertionSort ,
66 SelectionSort ,
77 MergeSort ,
88 QuickSort ,
99]
10- var level : ComparisonSort
10+ var _level : ComparisonSort
1111
1212func _ready ():
1313 """Dynamically load level data."""
14- for level in levels :
14+ for level in LEVELS :
1515 var button = Button .new ()
1616 button .text = level .NAME
1717 button .align = Button .ALIGN_LEFT
@@ -28,31 +28,31 @@ func _ready():
2828 bottom_button .focus_neighbour_bottom = top_button .get_path ()
2929 # If no last played level, autofocus first level
3030 if GlobalScene .get_param ("level" ) == null :
31- bottom_button .grab_focus ()
31+ top_button .grab_focus ()
3232
3333func _on_Button_focus_changed ():
3434 """Initialize the preview section."""
35- level = get_level (get_focus_owner ().text ).new (ArrayModel .new ())
36- level .active = false
37- $ Preview/InfoBorder/Info/About .text = _cleanup (level .ABOUT )
38- $ Preview/InfoBorder/Info/Controls .text = _cleanup (level .CONTROLS )
35+ _level = get_level (get_focus_owner ().text ).new (ArrayModel .new ())
36+ _level .active = false
37+ $ Preview/InfoBorder/Info/About .text = _cleanup (_level .ABOUT )
38+ $ Preview/InfoBorder/Info/Controls .text = _cleanup (_level .CONTROLS )
3939 # Start over when simulation is finished
40- level .connect ("done" , self , "_on_Button_focus_changed" )
40+ _level .connect ("done" , self , "_on_Button_focus_changed" )
4141 # Replace old display with new
4242 for child in $ Preview/Display .get_children ():
4343 child .queue_free ()
44- $ Preview/Display .add_child (ArrayView .new (level ))
44+ $ Preview/Display .add_child (ArrayView .new (_level ))
4545
4646func _on_Button_pressed (name ):
4747 GlobalScene .change_scene ("res://scenes/play.tscn" , {"level" : get_level (name )})
4848
4949func get_level (name ):
50- for level in levels :
50+ for level in LEVELS :
5151 if level .NAME == name :
5252 return level
5353
5454func _on_Timer_timeout ():
55- level .next (null )
55+ _level .next (null )
5656
5757func _cleanup (string ):
5858 return string .strip_edges ().replace ("\n " , " " )
0 commit comments