Add build directory to .gitignore, create export presets for Web and Windows Desktop, adjust z-index and mouse filter in level_1.tscn, add update_game_state function in level.gd, change main_scene path in project.godot, set rendering method to "gl_compatibility", add LevelSelect and related nodes in main_menu.tscn, create scene_manager.tscn with MainMenu node, implement functionality for menu button selection in main_menu.gd.

This commit is contained in:
Dan 2024-05-10 14:39:24 +01:00
parent ca4788ce6f
commit b6cdb68b4e
21 changed files with 499 additions and 10 deletions

View file

@ -0,0 +1,33 @@
extends Node2D
class_name SceneManager
const SCENES : Dictionary = {
"MAINMENU" : "res://scenes/main_menu.tscn",
"HIGHSCORES" : "res://scenes/highscores.tscn",
"LEVEL1" : "res://levels/level_1.tscn",
"LEVEL2" : "res://levels/level_2.tscn",
"LEVEL3" : "res://levels/level_3.tscn",
"LEVEL4" : "res://levels/level_4.tscn",
"LEVEL5" : "res://levels/level_5.tscn",
"LEVEL6" : "res://levels/level_6.tscn",
}
var loading_scene_res : Resource = null
func _ready():
Log.pr("SceneManager is ready.")
SceneMgr.connect("change_scene", Callable(self, "_on_change_scene"))
$TransitionScene.connect("transitioned", Callable(self, "_on_transition_scene_transitioned"))
func _on_change_scene(scene_name):
Log.pr("Going to load a scene.", scene_name)
if SCENES.has(scene_name):
loading_scene_res = load(SCENES[scene_name])
Log.pr("Loading scene: ", loading_scene_res)
$TransitionScene.transition()
else:
loading_scene_res = null
func _on_transition_scene_transitioned():
$CurrentScene.get_child(0).queue_free()
$CurrentScene.add_child(loading_scene_res.instantiate())