diff --git a/scenes/menu/pause_menu.gd b/scenes/menu/pause_menu.gd index 0deb42f..9d45a10 100644 --- a/scenes/menu/pause_menu.gd +++ b/scenes/menu/pause_menu.gd @@ -1,7 +1,5 @@ extends PopupDialog -func _ready() -> void: - $MarginContainer/VSplitContainer/VBoxContainer/ContinueButton.grab_focus() func _process(_delta: float) -> void: if Input.is_action_just_pressed("ui_cancel"): @@ -12,10 +10,12 @@ func _process(_delta: float) -> void: show() get_tree().paused = true + func _on_ContinueButton_pressed(): hide() get_tree().paused = false + func _on_ExitButton_pressed(): get_tree().paused = false get_tree().change_scene("res://scenes/menu/main_menu.tscn") diff --git a/scenes/menu/start_menu.gd b/scenes/menu/start_menu.gd index 8983963..5bd0c40 100644 --- a/scenes/menu/start_menu.gd +++ b/scenes/menu/start_menu.gd @@ -6,26 +6,38 @@ const bugmobile = preload("res://vehicles/bugmobile.tscn") const test_scene = preload("res://scenes/test_level.tscn") const gui_scene = preload("res://player/gui.tscn") +onready var vehicle_selector = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/VehicleSelector +onready var track_selector = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/TrackSelector + +var vehicles = [beetle, buggy, bugmobile] +var tracks = [test_scene] + func _ready() -> void: - $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/BeetleButton.grab_focus() + vehicle_selector.grab_focus() + vehicle_selector.add_item("Beetlecar") + vehicle_selector.add_item("Buggy") + vehicle_selector.add_item("Bugmobile") -func _on_BuggyButton_pressed() -> void: - _start_with_vehicle(buggy.instance()) + track_selector.add_item("Test track") -func _on_BeetleButton_pressed() -> void: - _start_with_vehicle(beetle.instance()) +func _on_StartButton_pressed() -> void: + print(vehicle_selector.get_selected_id()) + print(track_selector.get_selected_id()) + if vehicle_selector.get_selected_id() < 0: + return + if track_selector.get_selected_id() < 0: + return + var vehicle = vehicles[vehicle_selector.get_selected_id()] + var track = tracks[track_selector.get_selected_id()] + _start_track_with_vehicle(track.instance(), vehicle.instance()) -func _on_BugmobileButton_pressed() -> void: - _start_with_vehicle(bugmobile.instance()) - -func _start_with_vehicle(vehicle: Node) -> void: +func _start_track_with_vehicle(track: Node, vehicle: Node) -> void: var gui = gui_scene.instance() - var scene = test_scene.instance() vehicle.connect("speed_updated", gui, "update_speed") vehicle.connect("rpm_updated", gui, "update_rpm") vehicle.connect("gear_updated", gui, "update_gear") - scene.call_deferred("spawn_player", vehicle, gui) - get_tree().root.call_deferred("add_child", scene) + track.call_deferred("spawn_player", vehicle, gui) + get_tree().root.call_deferred("add_child", track) queue_free() func _on_BackButton_pressed() -> void: diff --git a/scenes/menu/start_menu.tscn b/scenes/menu/start_menu.tscn index 1d19e38..dd1ee97 100644 --- a/scenes/menu/start_menu.tscn +++ b/scenes/menu/start_menu.tscn @@ -26,6 +26,9 @@ margin_left = 20.0 margin_top = 20.0 margin_right = -20.0 margin_bottom = -20.0 +__meta__ = { +"_edit_use_anchors_": false +} [node name="VSplitContainer" type="VSplitContainer" parent="MarginContainer"] margin_right = 984.0 @@ -38,12 +41,12 @@ margin_bottom = 72.0 dragger_visibility = 1 [node name="BackButton" type="Button" parent="MarginContainer/VSplitContainer/HSplitContainer"] -margin_right = 42.0 +margin_right = 75.0 margin_bottom = 72.0 text = "Back" [node name="Title" type="Label" parent="MarginContainer/VSplitContainer/HSplitContainer"] -margin_left = 54.0 +margin_left = 99.0 margin_right = 984.0 margin_bottom = 72.0 custom_fonts/font = SubResource( 1 ) @@ -52,40 +55,43 @@ align = 1 valign = 1 [node name="CenterContainer" type="CenterContainer" parent="MarginContainer/VSplitContainer"] -margin_top = 84.0 +margin_top = 96.0 margin_right = 984.0 margin_bottom = 560.0 [node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VSplitContainer/CenterContainer"] -margin_left = 386.0 -margin_top = 171.0 -margin_right = 597.0 -margin_bottom = 305.0 +margin_left = 317.0 +margin_top = 152.0 +margin_right = 666.0 +margin_bottom = 312.0 -[node name="BeetleButton" type="Button" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"] -margin_right = 211.0 -margin_bottom = 42.0 +[node name="VehicleSelector" type="OptionButton" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"] +margin_right = 349.0 +margin_bottom = 48.0 custom_fonts/font = SubResource( 2 ) -text = "Beetle" +text = "Select vehicle" +align = 1 -[node name="BuggyButton" type="Button" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"] -margin_top = 46.0 -margin_right = 211.0 -margin_bottom = 88.0 +[node name="TrackSelector" type="OptionButton" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"] +margin_top = 56.0 +margin_right = 349.0 +margin_bottom = 104.0 custom_fonts/font = SubResource( 2 ) -text = "Buggy" +text = "Select Track" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} -[node name="BugmobileButton" type="Button" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"] -margin_top = 92.0 -margin_right = 211.0 -margin_bottom = 134.0 +[node name="StartButton" type="Button" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"] +margin_top = 112.0 +margin_right = 349.0 +margin_bottom = 160.0 custom_fonts/font = SubResource( 2 ) -text = "Bugmobile" +text = "Start" __meta__ = { "_edit_use_anchors_": false } [connection signal="pressed" from="MarginContainer/VSplitContainer/HSplitContainer/BackButton" to="." method="_on_BackButton_pressed"] -[connection signal="pressed" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/BeetleButton" to="." method="_on_BeetleButton_pressed"] -[connection signal="pressed" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/BuggyButton" to="." method="_on_BuggyButton_pressed"] -[connection signal="pressed" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/BugmobileButton" to="." method="_on_BugmobileButton_pressed"] +[connection signal="pressed" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/StartButton" to="." method="_on_StartButton_pressed"]