OpenLiberty/scripts/map_test.gd

28 lines
948 B
GDScript3
Raw Normal View History

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()
2022-11-20 04:07:41 +07:00
var suzanne := preload("res://prefabs/suzanne.tscn")
2022-11-19 05:06:08 +07:00
2022-11-14 20:58:49 +07:00
func _ready() -> void:
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
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:
if event is InputEventKey:
if event.physical_keycode == KEY_SPACE and event.pressed:
var node := suzanne.instantiate() as RigidBody3D
add_child(node)
node.global_position = get_viewport().get_camera_3d().global_position