godot-demo-projects/3d/truck_town/car_select.gd

42 lines
919 B
GDScript3
Raw Normal View History

2018-01-28 10:03:11 +01:00
extends Control
2022-08-25 22:26:31 +02:00
var town: Node3D = null
2018-01-28 10:03:11 +01:00
2022-08-25 22:26:31 +02:00
func _process(_delta: float):
if Input.is_action_just_pressed(&"back"):
2022-08-25 22:26:31 +02:00
_on_back_pressed()
2018-01-28 10:03:11 +01:00
2022-08-25 22:26:31 +02:00
func _load_scene(car_path: String):
var car: Node3D = load(car_path).instantiate()
car.name = &"car"
town = load("res://town_scene.tscn").instantiate()
2022-08-25 22:26:31 +02:00
town.get_node(^"InstancePos").add_child(car)
town.get_node(^"InstancePos/Panel/Spedometer").car_body = car.get_child(0)
town.get_node(^"Back").pressed.connect(_on_back_pressed)
2018-01-28 10:03:11 +01:00
get_parent().add_child(town)
hide()
2022-08-25 22:26:31 +02:00
func _on_back_pressed():
if is_instance_valid(town):
# Currently in the town, go back to main menu.
town.queue_free()
show()
else:
# In main menu, exit the game.
get_tree().quit()
2022-08-25 22:26:31 +02:00
func _on_mini_van_pressed():
2018-01-28 10:03:11 +01:00
_load_scene("res://car_base.tscn")
2022-08-25 22:26:31 +02:00
func _on_trailer_truck_pressed():
2018-01-28 10:03:11 +01:00
_load_scene("res://trailer_truck.tscn")
2022-08-25 22:26:31 +02:00
func _on_tow_truck_pressed():
_load_scene("res://tow_truck.tscn")