diff options
Diffstat (limited to '')
| -rw-r--r-- | Scripts/game.gd | 104 | 
1 files changed, 104 insertions, 0 deletions
diff --git a/Scripts/game.gd b/Scripts/game.gd new file mode 100644 index 0000000..bacb709 --- /dev/null +++ b/Scripts/game.gd @@ -0,0 +1,104 @@ +extends Node2D + +const NUM_LEVELS = 3 + +# level control +var current_level_id = 0 +var levels = [] +var post_game = false + +var scenes = [ +#	preload("res://Nodes/levels/level1/level1.tscn"),  +#	preload("res://Nodes/levels/level2/level2.tscn") +	preload("res://Nodes/Level_test.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"): +		close_scoreboard() +		get_tree().paused = true +		$PausePopup.show() +		Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + + +func _on_QuitButton_pressed(): +	get_tree().quit() + + +func _on_ResumeButton_pressed(): +	print('aaaa') +	$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(): +	open_scoreboard() +#	evaluate_player(current_strokes, PAR[current_level_id]) +	$BGMPLayer.stream_paused = true +	$JinglePlayer.play() +	post_game = true + + +func open_scoreboard(): +#	strokes_per_level[current_level_id] = current_strokes +#	$Scoreboard.update_values(strokes_per_level, PAR) +#	$Scoreboard.show() +	pass + + +func close_scoreboard(): +#	$Scoreboard.hide() +	pass + + +func is_post_game(): +	return post_game + + +func next_level(): +	post_game = false +	current_level_id += 1 +	 +	if current_level_id >= NUM_LEVELS: +		get_tree().change_scene("res://scenes/levels/MainMenu.tscn") +		return  +	 +	load_scene_by_index(current_level_id) +	close_scoreboard() +	$Evaluation.hide() +	 +	$BGMPLayer.stream_paused = false +	$JinglePlayer.stop() + + +func evaluate_player(strokes, par): +	$Evaluation/EvaluationLabel.text = "%d Seconds" % 42 +	$Evaluation.show() + + +func _on_JinglePlayer_finished(): +	$BGMPLayer.stream_paused = false + + +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)  | 
