1
0
Fork 0
This repository has been archived on 2025-09-12. You can view files and clone it, but cannot push or open issues or pull requests.
honest-jam-2/game/Game.gd

43 lines
1.1 KiB
GDScript

class_name Game
extends Node
export var level_scene: PackedScene
onready var main_menu: Control = $UI/MainMenu
onready var transition_screen: TransitionScreen = $UI/TransitionScreen
onready var level_container: Node = $LevelContainer
var debug: Reference
func _ready() -> void:
if OS.has_feature("debug"):
var debug_script = load("res://debug.gd")
if debug_script:
debug = debug_script.new(self)
debug.startup()
main_menu.connect("start_game", self, "on_start_game")
func _process(delta: float) -> void:
DebugOverlay.display("fps %d" % Performance.get_monitor(Performance.TIME_FPS))
if Input.is_action_just_pressed("menu"):
back_to_menu()
func on_start_game() -> void:
transition_screen.fade_in()
yield(transition_screen, "animation_finished")
main_menu.hide()
var level = level_scene.instance()
level_container.add_child(level)
transition_screen.fade_out()
func back_to_menu() -> void:
transition_screen.fade_in()
yield(transition_screen, "animation_finished")
var nodes = level_container.get_children()
for node in nodes:
level_container.remove_child(node)
node.queue_free()
main_menu.show()
transition_screen.fade_out()