Tales-of-PKMN/scripts/game_data.gd

28 lines
1.3 KiB
GDScript

extends Node
# Autoload : GameData
var story_progress : int = 0 # 0 = début, 1 = après 1er badge, 2 = après 2e badge, etc.
var player_team : PokemonTeam = PokemonTeam.new()
var player_storage : PokemonStorage = PokemonStorage.new()
func give_pokemon(pokemon : PokemonInstance) -> PokemonStorage.ReceiveResult:
#point d'entree unique pour obtenir un pokemon (starter, cadeau, capture...) :
#equipe si elle a de la place, sinon PC. A l'appelant d'informer le joueur selon le resultat.
return player_storage.receive_pokemon(player_team, pokemon)
func save() -> void:
var config := ConfigFile.new()
config.set_value("progress", "story_progress", story_progress)
config.set_value("team", "data", player_team.to_dict())
config.set_value("storage", "data", player_storage.to_dict())
config.save("user://save.cfg")
func load_data() -> void:
var config := ConfigFile.new()
if config.load("user://save.cfg") == OK:
story_progress = config.get_value("progress", "story_progress", 0)
var team_data : Variant = config.get_value("team", "data", {})
player_team = PokemonTeam.from_dict(team_data) if team_data is Dictionary else PokemonTeam.new()
var storage_data : Variant = config.get_value("storage", "data", {})
player_storage = PokemonStorage.from_dict(storage_data) if storage_data is Dictionary else PokemonStorage.new()