aboutsummaryrefslogblamecommitdiffstats
path: root/Scripts/game.gd
blob: 3b87736846b0b480790ee19d041d3c188706131a (plain) (tree)
1
2
3
4
5
6
7
8
9
10

              





                        

                                                   
                                                   
                                                    

                                                    










                                                                           
                                        
                                              







                                                              
                                      









                                                                     





                                                               
                  

                             
                                             
                                                                             


                                             
        

                                          










                                                  
extends Node2D

# level control
var current_level_id = 0
var levels = []
var post_game = false

var scenes = [
		preload("res://Levels/Tut01.tscn"),
		preload("res://Levels/Tut02.tscn"),
		preload("res://Levels/Tut03.tscn"),
		preload("res://Levels/Level1.tscn"),
		preload("res://Levels/Level2.tscn"),
		preload("res://Levels/Level3.tscn")
	]

# Called when the node enters the scene tree for the first time.
func _ready():
#	$JinglePlayer.stream.loop_mode = AudioStream.LOOP_DISABLED
	load_scene_by_index(0)


# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
	if Input.is_action_just_pressed("ui_cancel"):
		get_tree().paused = true
		$CanvasLayer/PausePopup.show()
		Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)


func _on_QuitButton_pressed():
	get_tree().quit()


func _on_ResumeButton_pressed():
	$CanvasLayer/PausePopup.hide()
	get_tree().paused = false
	Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)


func _on_MainMenuButton_pressed():
	get_tree().paused = false
	get_tree().change_scene_to_file("res://Nodes/main_menu.tscn")


func end_level():
#	evaluate_player(current_strokes, PAR[current_level_id])
	$BGMPLayer.stream_paused = true
	$JinglePlayer.play()
	post_game = true


func next_level():
	current_level_id += 1
	
	if current_level_id >= scenes.size():
		get_tree().change_scene_to_file("res://Nodes/main_menu.tscn")
		return 
	
	load_scene_by_index(current_level_id)
	
	# $BGMPLayer.stream_paused = false
	# $JinglePlayer.stop()


func load_scene_by_index(index):
	# clear level
	for n in $LoadedLevel.get_children():
		$LoadedLevel.remove_child(n)
		n.queue_free()
	
	# add new level
	var instance = scenes[index].instantiate()
	$LoadedLevel.add_child(instance)