OpenLiberty/scripts/world.gd

44 lines
1.5 KiB
GDScript3
Raw Permalink 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()
@onready var sun = $sun
@onready var moon = $moon
@onready var sky = $WorldEnvironment
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-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)
sky.environment = load("res://scenes/world/day.tres")
moon.visible = not moon.visible
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
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)
if Input.is_action_just_pressed("night_toggle"):
sky.environment = load("res://scenes/world/night.tres")
sun.visible = not sun.visible
moon.visible = not moon.visible
#if sun.visible = true
#sky.environment = load("res://scenes/world/day.tres")