Add skill management system with unlocker and save functionality

This commit is contained in:
2025-04-27 14:15:03 +02:00
parent f880d1a811
commit 49a652a5b1
16 changed files with 294 additions and 32 deletions

View File

@@ -4,6 +4,7 @@ extends Node
var player_state = {
"coins": 0,
"lives": 3,
"unlocked_skills": [],
}
@@ -36,4 +37,18 @@ func set_lives(amount: int) -> void:
func get_lives() -> int:
return player_state["lives"]
return player_state["lives"]
func is_skill_unlocked(skill_name: String) -> bool:
return skill_name in player_state["unlocked_skills"]
func unlock_skill(skill_name: String) -> void:
if not is_skill_unlocked(skill_name):
player_state["unlocked_skills"].append(skill_name)
func unlock_skills(skill_names: Array[String]) -> void:
for skill_name in skill_names:
unlock_skill(skill_name)