save system

This commit is contained in:
zoe 2021-10-01 16:23:48 +02:00
parent ad8de1dbb7
commit ffcccb8c2e
29 changed files with 286 additions and 77 deletions

View file

@ -2,6 +2,8 @@ extends Node
signal balls_changed()
signal current_stage_changed(scene)
signal multiplier_changed(value)
signal score_changed(value)
var unlock_points = 10
var max_balls = 8
@ -37,19 +39,33 @@ func restart_level():
reset_board()
func reset_board():
multiplier = 1
score = 0
balls_left = max_balls
pinks_left = 0
level_won = false
multiplier = 1
score = 0
func set_current_scene(stage):
current_stage = stage
emit_signal("current_stage_changed", current_stage)
func add_to_multiplier():
var SFXPlayer = load("res://SFX/SFXPlayer.tscn")
var sfx_player = SFXPlayer.instance()
var main = get_tree().current_scene
main.add_child(sfx_player)
multiplier += 1
func add_to_multiplier(value):
if value + GameStats.multiplier > GameStats.multiplier:
var SFXPlayer = load("res://SFX/SFXPlayer.tscn")
var sfx_player = SFXPlayer.instance()
var main = get_tree().current_scene
main.add_child(sfx_player)
multiplier += value
emit_signal("multiplier_changed", multiplier)
func set_multiplier(value):
multiplier = value
emit_signal("multiplier_changed", multiplier)
func set_score_to(value):
score = value
emit_signal("score_changed", score)

31
Stats/Saves.gd Normal file
View file

@ -0,0 +1,31 @@
extends Node
var save_path = "user://save.dat"
func _ready():
load_game()
func save_game():
var data = {
"unlock_points" : GameStats.unlock_points
}
print(data)
var file = File.new()
var err = file.open(save_path, File.WRITE)
if err == OK:
file.store_var(data)
file.close()
func load_game():
var file = File.new()
if file.file_exists(save_path):
var err = file.open(save_path, File.READ)
if err == OK:
var data = file.get_var()
file.close()
load_unlock_points(data)
func load_unlock_points(data):
GameStats.unlock_points = data.unlock_points