Add high scores level with specific settings, new resources for images and textures, update project configuration to include HighScoreMgr, and define style boxes for game theme.

This commit is contained in:
Dan 2024-05-11 13:53:04 +01:00
parent 3eaa959910
commit 115b4b0a69
22 changed files with 821 additions and 12 deletions

View file

@ -12,7 +12,7 @@ var gathered_nectar : int = 0 :
return gathered_nectar
set(value):
gathered_nectar = value
if gathered_nectar > required_nectar:
if gathered_nectar > required_nectar and !level_complete:
game_win()
@export var required_nectar : int = 100
@ -52,6 +52,7 @@ func game_start():
func game_win():
Log.pr("Game win")
level_complete = true
HighScoreMgr.add_honey(gathered_nectar)
# get_tree().paused = true
func game_lose():

43
utility/high_scores.gd Normal file
View file

@ -0,0 +1,43 @@
class_name HighScores extends Node
@onready var loaded_data = SaveStateResource.new()
func save():
var save_data : SaveStateResource = SaveStateResource.new()
save_data.level_1_score = loaded_data.level_1_score
save_data.level_2_score = loaded_data.level_2_score
save_data.level_3_score = loaded_data.level_3_score
save_data.level_4_score = loaded_data.level_4_score
save_data.level_5_score = loaded_data.level_5_score
save_data.level_6_score = loaded_data.level_6_score
save_data.total_bees_killed = loaded_data.total_bees_killed
save_data.total_honey_collected = loaded_data.total_honey_collected
ResourceSaver.save(save_data, "user://savedata.tres")
func load():
var save_data : SaveStateResource = load("user://savedata.tres")
if save_data:
loaded_data.level_1_score = save_data.level_1_score
loaded_data.level_2_score = save_data.level_2_score
loaded_data.level_3_score = save_data.level_3_score
loaded_data.level_4_score = save_data.level_4_score
loaded_data.level_5_score = save_data.level_5_score
loaded_data.level_6_score = save_data.level_6_score
loaded_data.total_bees_killed = save_data.total_bees_killed
loaded_data.total_honey_collected = save_data.total_honey_collected
func add_honey(honey : int):
loaded_data.total_honey_collected += honey
save()
func debug_save_high_score():
loaded_data.level_1_score = 3000
save()
func debug_output():
Log.pr("High Scores", loaded_data.level_1_score)

View file

@ -0,0 +1,11 @@
class_name SaveStateResource extends Resource
@export var level_1_score : int = 0
@export var level_2_score : int = 0
@export var level_3_score : int = 0
@export var level_4_score : int = 0
@export var level_5_score : int = 0
@export var level_6_score : int = 0
@export var total_bees_killed : int = 0
@export var total_honey_collected : int = 0