28 lines
1.3 KiB
GDScript
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()
|