more savegame tweaks
This commit is contained in:
@@ -7,11 +7,16 @@ var player_deaths
|
||||
var enemies_killed
|
||||
|
||||
#GAME DATA
|
||||
var data_cleared
|
||||
var player_loc
|
||||
var player_rot
|
||||
var player_health
|
||||
var player_money
|
||||
var held_guns
|
||||
var current_gun
|
||||
var current_ammo
|
||||
var reserve_ammo
|
||||
var enemies = []
|
||||
|
||||
|
||||
## SAVE DATA PATHS
|
||||
@@ -57,44 +62,79 @@ func save_game_data():
|
||||
var level_control = get_tree().current_scene
|
||||
var player = level_control.player
|
||||
var file = FileAccess.open(game_save_path, FileAccess.WRITE)
|
||||
|
||||
#ASSIGN DATA TO VARIABLES
|
||||
data_cleared = false
|
||||
player_loc = player.global_position
|
||||
player_rot = player.global_rotation
|
||||
player_health = level_control.health
|
||||
player_money = level_control.money
|
||||
held_guns = save_resource_path(level_control.held_guns)
|
||||
current_gun = level_control.current_gun_index
|
||||
current_ammo = level_control.ammo_current
|
||||
reserve_ammo = level_control.ammo_reserve
|
||||
|
||||
#SAVE DATA
|
||||
file.store_var(data_cleared)
|
||||
file.store_var(player_loc)
|
||||
file.store_var(player_rot)
|
||||
file.store_var(player_health)
|
||||
file.store_var(player_money)
|
||||
file.store_var(held_guns)
|
||||
file.store_var(current_gun)
|
||||
file.store_var(current_ammo)
|
||||
file.store_var(reserve_ammo)
|
||||
file.store_var(enemies)
|
||||
|
||||
file.close()
|
||||
|
||||
func clear_save_game_data():
|
||||
var file = FileAccess.open(game_save_path, FileAccess.WRITE)
|
||||
data_cleared = true
|
||||
file.store_var(data_cleared)
|
||||
file.store_var(player_loc)
|
||||
file.store_var(player_rot)
|
||||
file.store_var(player_health)
|
||||
file.store_var(player_money)
|
||||
file.store_var(held_guns)
|
||||
file.store_var(current_gun)
|
||||
file.store_var(current_ammo)
|
||||
file.store_var(reserve_ammo)
|
||||
file.store_var(enemies)
|
||||
|
||||
func load_save_game_data():
|
||||
var level_control = get_tree().current_scene
|
||||
var player = level_control.player
|
||||
|
||||
if FileAccess.file_exists(game_save_path):
|
||||
var file = FileAccess.open(game_save_path, FileAccess.READ)
|
||||
|
||||
|
||||
#GET DATA
|
||||
player_loc = file.get_var()
|
||||
player_rot = file.get_var()
|
||||
var held_guns_encoded = file.get_var()
|
||||
held_guns = load_resource_path(held_guns_encoded)
|
||||
current_ammo = file.get_var()
|
||||
reserve_ammo = file.get_var()
|
||||
data_cleared = file.get_var()
|
||||
|
||||
|
||||
#APPLY DATA
|
||||
player.global_position = player_loc
|
||||
player.global_rotation = player_rot
|
||||
level_control.held_guns = held_guns
|
||||
level_control.ammo_current = current_ammo
|
||||
level_control.ammo_reserve = reserve_ammo
|
||||
if !data_cleared:
|
||||
player_loc = file.get_var()
|
||||
player_rot = file.get_var()
|
||||
player_health = file.get_var()
|
||||
player_money = file.get_var()
|
||||
var held_guns_encoded = file.get_var()
|
||||
held_guns = load_resource_path(held_guns_encoded)
|
||||
current_gun = file.get_var()
|
||||
current_ammo = file.get_var()
|
||||
reserve_ammo = file.get_var()
|
||||
enemies = file.get_var()
|
||||
|
||||
#APPLY DATA
|
||||
player.global_position = player_loc
|
||||
player.global_rotation = player_rot
|
||||
level_control.health = player_health
|
||||
level_control.money = player_money
|
||||
level_control.held_guns = held_guns
|
||||
player.gun.queue_free()
|
||||
level_control.gun_spawn(current_gun)
|
||||
level_control.ammo_current = current_ammo
|
||||
level_control.ammo_reserve = reserve_ammo
|
||||
|
||||
file.close()
|
||||
else:
|
||||
print("no data saved...")
|
||||
@@ -123,8 +163,6 @@ func save_resource_path(array):
|
||||
var resource_path = i.resource_path
|
||||
if resource_path != "":
|
||||
final_array.append(resource_path)
|
||||
print("Resource Path: ", resource_path)
|
||||
print("FINAL ARRAY ", final_array)
|
||||
return final_array
|
||||
|
||||
func load_resource_path(array):
|
||||
@@ -132,5 +170,4 @@ func load_resource_path(array):
|
||||
for i in array:
|
||||
var i_loaded = load(i)
|
||||
final_array.append(i_loaded)
|
||||
print("loaded ",final_array)
|
||||
return final_array
|
||||
|
||||
Reference in New Issue
Block a user