2022-11-14 20:20:41 +07:00
|
|
|
extends Node
|
2022-11-14 20:58:49 +07:00
|
|
|
|
2022-11-19 05:06:08 +07:00
|
|
|
@onready var world := Node3D.new()
|
2024-08-15 19:25:32 -03:00
|
|
|
var car := preload("res://scenes/car.tscn")
|
2022-11-19 05:06:08 +07:00
|
|
|
|
2022-11-14 20:58:49 +07:00
|
|
|
func _ready() -> void:
|
2022-11-19 05:06:08 +07:00
|
|
|
world.rotation.x = deg_to_rad(-90.0)
|
2022-11-15 17:59:27 +07:00
|
|
|
var start := Time.get_ticks_msec()
|
2022-11-17 17:38:22 +07:00
|
|
|
var target = MapBuilder.placements.size()
|
2022-11-15 17:59:27 +07:00
|
|
|
var count := 0
|
2022-11-18 03:10:21 +07:00
|
|
|
var start_t := Time.get_ticks_msec()
|
|
|
|
# add_child(MapBuilder.map)
|
2022-11-17 17:38:22 +07:00
|
|
|
for ipl in MapBuilder.placements:
|
2022-11-19 05:06:08 +07:00
|
|
|
world.add_child(MapBuilder.spawn_placement(ipl))
|
2022-11-15 17:59:27 +07:00
|
|
|
count += 1
|
2022-11-15 23:02:44 +07:00
|
|
|
if Time.get_ticks_msec() - start > (1.0 / 30.0) * 1000:
|
2022-11-15 17:59:27 +07:00
|
|
|
start = Time.get_ticks_msec()
|
2022-11-15 20:01:44 +07:00
|
|
|
print("%f" % (float(count) / float(target)))
|
2022-11-15 17:59:27 +07:00
|
|
|
await get_tree().physics_frame
|
2022-11-18 03:10:21 +07:00
|
|
|
print("Map load completed in %f seconds" % ((Time.get_ticks_msec() - start_t) / 1000))
|
2022-11-19 05:06:08 +07:00
|
|
|
add_child(world)
|
2022-11-20 04:07:41 +07:00
|
|
|
|
|
|
|
func _unhandled_input(event: InputEvent) -> void:
|
2024-08-15 19:25:32 -03:00
|
|
|
if Input.is_action_pressed("spawn"):
|
|
|
|
var car_node := car.instantiate()
|
|
|
|
add_child(car_node)
|
|
|
|
car_node.global_position = get_viewport().get_camera_3d().global_position
|
2024-08-16 10:01:18 -03:00
|
|
|
|
|
|
|
func _input(event):
|
|
|
|
if Input.is_action_just_pressed("full_screen"):
|
|
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
|
|
|
|
#else:
|
|
|
|
#DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|