r3-next/backgounds/abstract.gd
2024-10-29 14:37:39 -07:00

61 lines
1.8 KiB
GDScript

extends Node2D
# Called when the node enters the scene tree for the first time.
var abstract = load("res://levels/abstract.tscn").instance()
func _ready():
call_deferred("_level")
Global.wait = Time.get_ticks_msec()
#pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if Time.get_ticks_msec() - Global.wait > Global.timelimit:
Global.live = 2
if Global.live == 0 || Input.is_action_just_pressed("ui_cancel"):
_title()
elif Global.live == 2:
_crash()
elif Global.live == 3:
_complete()
#pass
func _title():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
get_tree().root.remove_child(abstract)
if Global.debug:
get_tree().change_scene("res://levels/scene.tscn")
else:
get_tree().change_scene("res://title.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _crash():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
Global.time = Time.get_ticks_msec() - Global.wait
yield(get_tree().create_timer(1.0), "timeout")
#queue_free()
get_tree().root.remove_child(abstract)
get_tree().change_scene("res://backgounds/supernova.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _complete():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
Global.time = Time.get_ticks_msec() - Global.wait
get_tree().root.remove_child(abstract)
get_tree().change_scene("res://levels/credits.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _level():
get_tree().root.add_child(abstract)