pollen-not-included/utility/high_scores.gd
Dan 2a9e78b52e Refactor: Added explicit typing and void return types
- Introduced explicit typing to variables and functions across multiple scripts for better code clarity.
- Specified 'void' as the return type for functions that do not return a value.
- Removed redundant code in some scripts.
2024-05-15 10:42:16 +01:00

81 lines
No EOL
2.3 KiB
GDScript

class_name HighScores extends Node
@onready var loaded_data : SaveStateResource = SaveStateResource.new()
func save() -> void:
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() -> void:
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) -> void:
loaded_data.total_honey_collected += honey
func add_dead_bees(dead : int) -> void:
loaded_data.total_bees_killed += dead
func update_highscore(level : int, points : int) -> void:
var current_highscore : int = get_level_highscore(level)
if points > current_highscore:
match level:
1:
loaded_data.level_1_score = points
2:
loaded_data.level_2_score = points
3:
loaded_data.level_3_score = points
4:
loaded_data.level_4_score = points
5:
loaded_data.level_5_score = points
6:
loaded_data.level_6_score = points
pass
func debug_save_high_score() -> void:
loaded_data.level_1_score = 3000
save()
func debug_output() -> void:
Log.pr("High Scores", loaded_data.level_1_score)
func get_level_highscore(level : int) -> int:
match level:
1:
return loaded_data.level_1_score
2:
return loaded_data.level_2_score
3:
return loaded_data.level_3_score
4:
return loaded_data.level_4_score
5:
return loaded_data.level_5_score
6:
return loaded_data.level_6_score
return 0