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="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"]
|
[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)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.789394)
|
||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
[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
|
fov = 150.0
|
||||||
|
|
||||||
[node name="Cylinder" type="MeshInstance3D" parent="."]
|
[node name="Cylinder" type="MeshInstance3D" parent="."]
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ func die():
|
|||||||
else:
|
else:
|
||||||
SaveLoad.player_deaths = 1
|
SaveLoad.player_deaths = 1
|
||||||
SaveLoad.save_persistent_data()
|
SaveLoad.save_persistent_data()
|
||||||
|
SaveLoad.clear_save_game_data()
|
||||||
var deadmsg = DEAD_ANNOUNCE.instantiate()
|
var deadmsg = DEAD_ANNOUNCE.instantiate()
|
||||||
get_parent().add_child(deadmsg)
|
get_parent().add_child(deadmsg)
|
||||||
var instance_dead = dead_player.instantiate()
|
var instance_dead = dead_player.instantiate()
|
||||||
|
|||||||
@@ -53,8 +53,8 @@ func _ready():
|
|||||||
start_rotation = self.rotation
|
start_rotation = self.rotation
|
||||||
random_spread_start = random_spread_amt
|
random_spread_start = random_spread_amt
|
||||||
|
|
||||||
ammo_current = level_control.ammo_current[gun_index]
|
#ammo_current = level_control.ammo_current[gun_index]
|
||||||
ammo_reserve = level_control.ammo_reserve[gun_index]
|
#ammo_reserve = level_control.ammo_reserve[gun_index]
|
||||||
|
|
||||||
|
|
||||||
if fire_mode == 0:
|
if fire_mode == 0:
|
||||||
|
|||||||
@@ -49,17 +49,11 @@ var cycle_count_start
|
|||||||
var cycle_count
|
var cycle_count
|
||||||
var rng = RandomNumberGenerator.new()
|
var rng = RandomNumberGenerator.new()
|
||||||
var gun_index
|
var gun_index
|
||||||
#var ammo_current
|
|
||||||
var ammo_reserve
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
random_spread_start = random_spread_amt
|
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:
|
if fire_mode == 0:
|
||||||
cycle_count = 1
|
cycle_count = 1
|
||||||
cycle_count_start = 1
|
cycle_count_start = 1
|
||||||
|
|||||||
@@ -67,8 +67,6 @@ var bullet_array = []
|
|||||||
var rng = RandomNumberGenerator.new()
|
var rng = RandomNumberGenerator.new()
|
||||||
var gun_index
|
var gun_index
|
||||||
var casings_chamber_last
|
var casings_chamber_last
|
||||||
#var ammo_current
|
|
||||||
var ammo_reserve
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
@@ -76,9 +74,6 @@ func _ready():
|
|||||||
start_rotation = self.rotation
|
start_rotation = self.rotation
|
||||||
random_spread_start = random_spread_amt
|
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
|
casings_chamber_last = max_ammo
|
||||||
|
|
||||||
casing_array = [casing0,casing1,casing2,casing3,casing4,casing5]
|
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 player = get_tree().current_scene.player
|
||||||
@onready var level_control = get_tree().current_scene
|
@onready var level_control = get_tree().current_scene
|
||||||
@onready var ammo_current
|
|
||||||
var rng = RandomNumberGenerator.new()
|
var rng = RandomNumberGenerator.new()
|
||||||
var gun_index
|
var gun_index
|
||||||
#var ammo_current
|
|
||||||
var ammo_reserve
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
@@ -49,9 +46,6 @@ func _ready():
|
|||||||
start_rotation = self.rotation
|
start_rotation = self.rotation
|
||||||
random_spread_start = random_spread_amt
|
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:
|
if fire_mode == 0:
|
||||||
cycle_count = 1
|
cycle_count = 1
|
||||||
|
|||||||
@@ -7,11 +7,16 @@ var player_deaths
|
|||||||
var enemies_killed
|
var enemies_killed
|
||||||
|
|
||||||
#GAME DATA
|
#GAME DATA
|
||||||
|
var data_cleared
|
||||||
var player_loc
|
var player_loc
|
||||||
var player_rot
|
var player_rot
|
||||||
|
var player_health
|
||||||
|
var player_money
|
||||||
var held_guns
|
var held_guns
|
||||||
|
var current_gun
|
||||||
var current_ammo
|
var current_ammo
|
||||||
var reserve_ammo
|
var reserve_ammo
|
||||||
|
var enemies = []
|
||||||
|
|
||||||
|
|
||||||
## SAVE DATA PATHS
|
## SAVE DATA PATHS
|
||||||
@@ -57,22 +62,46 @@ func save_game_data():
|
|||||||
var level_control = get_tree().current_scene
|
var level_control = get_tree().current_scene
|
||||||
var player = level_control.player
|
var player = level_control.player
|
||||||
var file = FileAccess.open(game_save_path, FileAccess.WRITE)
|
var file = FileAccess.open(game_save_path, FileAccess.WRITE)
|
||||||
|
|
||||||
#ASSIGN DATA TO VARIABLES
|
#ASSIGN DATA TO VARIABLES
|
||||||
|
data_cleared = false
|
||||||
player_loc = player.global_position
|
player_loc = player.global_position
|
||||||
player_rot = player.global_rotation
|
player_rot = player.global_rotation
|
||||||
|
player_health = level_control.health
|
||||||
|
player_money = level_control.money
|
||||||
held_guns = save_resource_path(level_control.held_guns)
|
held_guns = save_resource_path(level_control.held_guns)
|
||||||
|
current_gun = level_control.current_gun_index
|
||||||
current_ammo = level_control.ammo_current
|
current_ammo = level_control.ammo_current
|
||||||
reserve_ammo = level_control.ammo_reserve
|
reserve_ammo = level_control.ammo_reserve
|
||||||
|
|
||||||
#SAVE DATA
|
#SAVE DATA
|
||||||
|
file.store_var(data_cleared)
|
||||||
file.store_var(player_loc)
|
file.store_var(player_loc)
|
||||||
file.store_var(player_rot)
|
file.store_var(player_rot)
|
||||||
|
file.store_var(player_health)
|
||||||
|
file.store_var(player_money)
|
||||||
file.store_var(held_guns)
|
file.store_var(held_guns)
|
||||||
|
file.store_var(current_gun)
|
||||||
file.store_var(current_ammo)
|
file.store_var(current_ammo)
|
||||||
file.store_var(reserve_ammo)
|
file.store_var(reserve_ammo)
|
||||||
|
file.store_var(enemies)
|
||||||
|
|
||||||
file.close()
|
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():
|
func load_save_game_data():
|
||||||
var level_control = get_tree().current_scene
|
var level_control = get_tree().current_scene
|
||||||
var player = level_control.player
|
var player = level_control.player
|
||||||
@@ -81,20 +110,31 @@ func load_save_game_data():
|
|||||||
var file = FileAccess.open(game_save_path, FileAccess.READ)
|
var file = FileAccess.open(game_save_path, FileAccess.READ)
|
||||||
|
|
||||||
#GET DATA
|
#GET DATA
|
||||||
player_loc = file.get_var()
|
data_cleared = 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()
|
|
||||||
|
|
||||||
|
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()
|
file.close()
|
||||||
else:
|
else:
|
||||||
print("no data saved...")
|
print("no data saved...")
|
||||||
@@ -123,8 +163,6 @@ func save_resource_path(array):
|
|||||||
var resource_path = i.resource_path
|
var resource_path = i.resource_path
|
||||||
if resource_path != "":
|
if resource_path != "":
|
||||||
final_array.append(resource_path)
|
final_array.append(resource_path)
|
||||||
print("Resource Path: ", resource_path)
|
|
||||||
print("FINAL ARRAY ", final_array)
|
|
||||||
return final_array
|
return final_array
|
||||||
|
|
||||||
func load_resource_path(array):
|
func load_resource_path(array):
|
||||||
@@ -132,5 +170,4 @@ func load_resource_path(array):
|
|||||||
for i in array:
|
for i in array:
|
||||||
var i_loaded = load(i)
|
var i_loaded = load(i)
|
||||||
final_array.append(i_loaded)
|
final_array.append(i_loaded)
|
||||||
print("loaded ",final_array)
|
|
||||||
return final_array
|
return final_array
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ extends Node3D
|
|||||||
|
|
||||||
@onready var player = get_tree().current_scene.player
|
@onready var player = get_tree().current_scene.player
|
||||||
@onready var level_control = get_tree().current_scene
|
@onready var level_control = get_tree().current_scene
|
||||||
@onready var ammo_current
|
|
||||||
@onready var tracker_marker = load("res://assets/tracker_marker.tscn")
|
@onready var tracker_marker = load("res://assets/tracker_marker.tscn")
|
||||||
@onready var bullet : Resource = load("res://assets/tracker_bullet.tscn")
|
@onready var bullet : Resource = load("res://assets/tracker_bullet.tscn")
|
||||||
@onready var tracker_indicator_material = tracker_indicator.get_surface_override_material(0)
|
@onready var tracker_indicator_material = tracker_indicator.get_surface_override_material(0)
|
||||||
@@ -51,8 +50,7 @@ var cycle_count_start
|
|||||||
var cycle_count
|
var cycle_count
|
||||||
var rng = RandomNumberGenerator.new()
|
var rng = RandomNumberGenerator.new()
|
||||||
var gun_index
|
var gun_index
|
||||||
#var ammo_current
|
|
||||||
var ammo_reserve
|
|
||||||
|
|
||||||
const tracker_null_color = Color(0.743, 0.359, 0)
|
const tracker_null_color = Color(0.743, 0.359, 0)
|
||||||
const tracker_assigned_color = Color(0, 0.853, 0)
|
const tracker_assigned_color = Color(0, 0.853, 0)
|
||||||
@@ -64,8 +62,6 @@ func _ready():
|
|||||||
tracker_check_mesh.visible = false
|
tracker_check_mesh.visible = false
|
||||||
|
|
||||||
random_spread_start = random_spread_amt
|
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:
|
if fire_mode == 0:
|
||||||
|
|||||||
Reference in New Issue
Block a user