more savegame tweaks
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=12 format=4 uid="uid://ba0jycejax6n7"]
|
||||
[gd_scene load_steps=12 format=4 uid="uid://neb8fxkrade0"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/bullet_cam.gd" id="1_uvdg3"]
|
||||
[ext_resource type="AudioStream" uid="uid://dqj4cx05f25jj" path="res://assets/Audio/punch-body-hard-SBA-300156881.wav" id="3_t6e3w"]
|
||||
@@ -95,7 +95,7 @@ script = ExtResource("1_uvdg3")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.789394)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.789394)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.35947)
|
||||
fov = 150.0
|
||||
|
||||
[node name="Cylinder" type="MeshInstance3D" parent="."]
|
||||
|
||||
@@ -150,7 +150,7 @@ func die():
|
||||
else:
|
||||
SaveLoad.player_deaths = 1
|
||||
SaveLoad.save_persistent_data()
|
||||
|
||||
SaveLoad.clear_save_game_data()
|
||||
var deadmsg = DEAD_ANNOUNCE.instantiate()
|
||||
get_parent().add_child(deadmsg)
|
||||
var instance_dead = dead_player.instantiate()
|
||||
|
||||
@@ -53,8 +53,8 @@ func _ready():
|
||||
start_rotation = self.rotation
|
||||
random_spread_start = random_spread_amt
|
||||
|
||||
ammo_current = level_control.ammo_current[gun_index]
|
||||
ammo_reserve = level_control.ammo_reserve[gun_index]
|
||||
#ammo_current = level_control.ammo_current[gun_index]
|
||||
#ammo_reserve = level_control.ammo_reserve[gun_index]
|
||||
|
||||
|
||||
if fire_mode == 0:
|
||||
|
||||
@@ -49,17 +49,11 @@ var cycle_count_start
|
||||
var cycle_count
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var gun_index
|
||||
#var ammo_current
|
||||
var ammo_reserve
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
random_spread_start = random_spread_amt
|
||||
|
||||
ammo_current = level_control.ammo_current[gun_index]
|
||||
ammo_reserve = level_control.ammo_reserve[gun_index]
|
||||
|
||||
|
||||
if fire_mode == 0:
|
||||
cycle_count = 1
|
||||
cycle_count_start = 1
|
||||
|
||||
@@ -67,8 +67,6 @@ var bullet_array = []
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var gun_index
|
||||
var casings_chamber_last
|
||||
#var ammo_current
|
||||
var ammo_reserve
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
@@ -76,9 +74,6 @@ func _ready():
|
||||
start_rotation = self.rotation
|
||||
random_spread_start = random_spread_amt
|
||||
|
||||
ammo_current = level_control.ammo_current[gun_index]
|
||||
ammo_reserve = level_control.ammo_reserve[gun_index]
|
||||
|
||||
casings_chamber_last = max_ammo
|
||||
|
||||
casing_array = [casing0,casing1,casing2,casing3,casing4,casing5]
|
||||
|
||||
@@ -37,11 +37,8 @@ var cycle_count
|
||||
|
||||
@onready var player = get_tree().current_scene.player
|
||||
@onready var level_control = get_tree().current_scene
|
||||
@onready var ammo_current
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var gun_index
|
||||
#var ammo_current
|
||||
var ammo_reserve
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
@@ -49,9 +46,6 @@ func _ready():
|
||||
start_rotation = self.rotation
|
||||
random_spread_start = random_spread_amt
|
||||
|
||||
ammo_current = level_control.ammo_current[gun_index]
|
||||
ammo_reserve = level_control.ammo_reserve[gun_index]
|
||||
|
||||
|
||||
if fire_mode == 0:
|
||||
cycle_count = 1
|
||||
|
||||
@@ -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,22 +62,46 @@ 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
|
||||
@@ -81,20 +110,31 @@ func load_save_game_data():
|
||||
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()
|
||||
|
||||
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
|
||||
|
||||
#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
|
||||
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
|
||||
|
||||
@@ -36,7 +36,6 @@ extends Node3D
|
||||
|
||||
@onready var player = get_tree().current_scene.player
|
||||
@onready var level_control = get_tree().current_scene
|
||||
@onready var ammo_current
|
||||
@onready var tracker_marker = load("res://assets/tracker_marker.tscn")
|
||||
@onready var bullet : Resource = load("res://assets/tracker_bullet.tscn")
|
||||
@onready var tracker_indicator_material = tracker_indicator.get_surface_override_material(0)
|
||||
@@ -51,8 +50,7 @@ var cycle_count_start
|
||||
var cycle_count
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var gun_index
|
||||
#var ammo_current
|
||||
var ammo_reserve
|
||||
|
||||
|
||||
const tracker_null_color = Color(0.743, 0.359, 0)
|
||||
const tracker_assigned_color = Color(0, 0.853, 0)
|
||||
@@ -64,8 +62,6 @@ func _ready():
|
||||
tracker_check_mesh.visible = false
|
||||
|
||||
random_spread_start = random_spread_amt
|
||||
ammo_current = level_control.ammo_current[gun_index]
|
||||
ammo_reserve = level_control.ammo_reserve[gun_index]
|
||||
|
||||
|
||||
if fire_mode == 0:
|
||||
|
||||
Reference in New Issue
Block a user