Added player weapons saving

This commit is contained in:
2025-12-12 17:19:12 +03:00
parent e1f5f3a9e0
commit ab607c9e86
11 changed files with 114 additions and 45 deletions
+45 -15
View File
@@ -5,26 +5,33 @@ const SAVE_FILE = "user://save.bin"
const SAVE_FILE_PASS = "save_file_data"
const CATEGORY_GAME = "game"
const PARAMETER_GAME_SEED = "seed"
const PARAMETER_GAME_AREA_INDEX = "current_area_index"
const PARAMETER_GAME_STAGE_INDEX = "current_stage_index"
const PARAMETER_GAME_SECTOR_INDEX = "current_sector_index"
const GAME_SEED = "seed"
const GAME_AREA_INDEX = "current_area_index"
const GAME_STAGE_INDEX = "current_stage_index"
const GAME_SECTOR_INDEX = "current_sector_index"
const CATEGORY_PLAYER = "game"
const PLAYER_FIRST_WEAPON = "player_first_weapon_id"
const PLAYER_SECOND_WEAPON = "player_second_weapon_id"
var _save_file: ConfigFile
var game_data : GameData
var player_data : PlayerData
func _ready() -> void:
_save_file = ConfigFile.new()
game_data = GameData.new()
player_data = PlayerData.new()
_load()
func save() -> void:
_save_file.set_value(CATEGORY_GAME, PARAMETER_GAME_SEED, game_data.game_seed)
_save_file.set_value(CATEGORY_GAME, PARAMETER_GAME_AREA_INDEX, game_data.current_area_index)
_save_file.set_value(CATEGORY_GAME, PARAMETER_GAME_AREA_INDEX, game_data.current_stage_index)
_save_file.set_value(CATEGORY_GAME, PARAMETER_GAME_AREA_INDEX, game_data.current_sector_index)
_set_game_values()
_set_player_values()
_save_file.save_encrypted_pass(SAVE_FILE, SAVE_FILE_PASS)
@@ -39,9 +46,6 @@ func delete_game_data() -> void:
func _load() -> void:
_save_file = ConfigFile.new()
game_data = GameData.new()
if _save_file.load_encrypted_pass(SAVE_FILE, SAVE_FILE_PASS) == OK:
_process_save_file()
@@ -49,15 +53,41 @@ func _load() -> void:
func _process_save_file() -> void:
_get_game_values()
_get_player_values()
func _set_game_values() -> void:
_save_file.set_value(CATEGORY_GAME, GAME_SEED, game_data.game_seed)
_save_file.set_value(CATEGORY_GAME, GAME_AREA_INDEX, game_data.current_area_index)
_save_file.set_value(CATEGORY_GAME, GAME_AREA_INDEX, game_data.current_stage_index)
_save_file.set_value(CATEGORY_GAME, GAME_AREA_INDEX, game_data.current_sector_index)
func _set_player_values() -> void:
_save_file.set_value(CATEGORY_PLAYER, PLAYER_FIRST_WEAPON, player_data.first_weapon_id)
_save_file.set_value(CATEGORY_PLAYER, PLAYER_SECOND_WEAPON, player_data.second_weapon_id)
func _get_game_values() -> void:
game_data.game_seed = _save_file.get_value(
CATEGORY_GAME, PARAMETER_GAME_SEED, game_data.game_seed
CATEGORY_GAME, GAME_SEED, game_data.game_seed
)
game_data.current_area_index = _save_file.get_value(
CATEGORY_GAME, PARAMETER_GAME_AREA_INDEX, game_data.current_area_index
CATEGORY_GAME, GAME_AREA_INDEX, game_data.current_area_index
)
game_data.current_stage_index = _save_file.get_value(
CATEGORY_GAME, PARAMETER_GAME_AREA_INDEX, game_data.current_stage_index
CATEGORY_GAME, GAME_AREA_INDEX, game_data.current_stage_index
)
game_data.current_sector_index = _save_file.get_value(
CATEGORY_GAME, PARAMETER_GAME_AREA_INDEX, game_data.current_sector_index
CATEGORY_GAME, GAME_AREA_INDEX, game_data.current_sector_index
)
func _get_player_values() -> void:
player_data.first_weapon_id = _save_file.get_value(
CATEGORY_PLAYER, PLAYER_FIRST_WEAPON, player_data.first_weapon_id
)
player_data.second_weapon_id = _save_file.get_value(
CATEGORY_PLAYER, PLAYER_SECOND_WEAPON, player_data.second_weapon_id
)