powerup system

This commit is contained in:
zoe 2021-10-05 21:55:34 +02:00
parent c8747328cf
commit 77ca16be36
149 changed files with 2472 additions and 331 deletions

View file

@ -4,15 +4,20 @@ signal balls_changed()
signal current_stage_changed(scene)
signal multiplier_changed(value)
signal score_changed(value)
signal powerup_picked()
var unlock_points = 10
var max_balls = 8
var max_balls = 3
var balls_left
var pinks_left = 0
var level_won = false
var current_stage = "res://Stages/EmptyStage.tscn"
var multiplier = 1
var score = 0
var camera_fx = true
var bonus_points = 0
var best_combo = 1
var powerup_screen_active = false
func add_balls(balls):
balls_left += balls
@ -22,10 +27,24 @@ func add_balls(balls):
func decide_game():
# game is won
if (pinks_left <= 0):
while balls_left > 0:
bonus_points += 15
balls_left -= 1
score += bonus_points
emit_signal("balls_changed")
emit_signal("score_changed", score)
var main = get_tree().current_scene
var BallsLeftLabel = preload("res://HUD/BallsLeftLabel.tscn")
var balls_left_label = BallsLeftLabel.instance()
main.add_child(balls_left_label)
var Winscreen = preload("res://Menu/WinScreen.tscn")
var winscreen = Winscreen.instance()
main.add_child(winscreen)
# game is lost
elif (balls_left <= 0):
restart_level()
@ -44,6 +63,8 @@ func reset_board():
balls_left = max_balls
pinks_left = 0
level_won = false
bonus_points = 0
emit_signal("balls_changed")
func set_current_scene(stage):
@ -69,3 +90,6 @@ func set_score_to(value):
score = value
emit_signal("score_changed", score)
func pick_powerup():
powerup_screen_active = false
emit_signal("powerup_picked")

View file

@ -8,6 +8,7 @@ func _ready():
func save_game():
var data = {
"unlock_points" : GameStats.unlock_points,
"camera_fx" : GameStats.camera_fx,
"music_volume" : AudioServer.get_bus_volume_db(AudioServer.get_bus_index("Music")),
"sfx_volume" : AudioServer.get_bus_volume_db(AudioServer.get_bus_index("SFX"))
}
@ -17,6 +18,8 @@ func save_game():
if err == OK:
file.store_var(data)
file.close()
call_deferred("show_icon")
func load_game():
var file = File.new()
@ -27,10 +30,20 @@ func load_game():
file.close()
load_unlock_points(data)
load_volume(data)
load_camera_fx(data)
func show_icon():
var Floppy = preload("res://Effects/Floppy.tscn")
var floppy = Floppy.instance()
var main = get_tree().current_scene
main.add_child(floppy)
func load_unlock_points(data):
GameStats.unlock_points = data.unlock_points
func load_camera_fx(data):
GameStats.camera_fx = data.camera_fx
func load_volume(data):
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("SFX"), data.sfx_volume)
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Music"), data.music_volume)