death count
This commit is contained in:
parent
11286539c6
commit
5748c48c71
2 changed files with 21 additions and 1 deletions
|
@ -83,6 +83,12 @@ func change_map(map: PackedScene):
|
|||
Fade.fade_out(0.4)
|
||||
yield(Fade, "fade_finished")
|
||||
can_pause = true
|
||||
# save deaths
|
||||
var save_id = LevelData.levels[current_level].save_id
|
||||
var save_data: Save.LevelSaveData = Save.current_file.levels[save_id]
|
||||
save_data.deaths += deaths
|
||||
Save.current_file.save_to_file()
|
||||
# clear
|
||||
clear_collectibles()
|
||||
#Loop is so no more than one level is loaded at a time
|
||||
SceneManager.current_scene = map.instance()
|
||||
|
@ -169,6 +175,7 @@ func has_collection_bonus():
|
|||
|
||||
# called when player dies
|
||||
func _on_player_died() -> void:
|
||||
deaths += 1
|
||||
if lives <= 0 and use_lives:
|
||||
Audio.play_sound(Audio.a_gover, Audio.ac_die)
|
||||
get_tree().get_nodes_in_group("player")[0].queue_free()
|
||||
|
@ -181,7 +188,6 @@ func _on_player_died() -> void:
|
|||
else:
|
||||
# count death
|
||||
lives -= 1
|
||||
deaths += 1
|
||||
# play death sound
|
||||
Audio.play_sound(Audio.a_die, Audio.ac_die)
|
||||
# death score penalty
|
||||
|
|
|
@ -10,9 +10,12 @@ class LevelSaveData:
|
|||
var time_any: float = INF
|
||||
var time_100: float = INF
|
||||
|
||||
var deaths: int
|
||||
|
||||
var keys_collected: int = 0
|
||||
var shards_collected: Array
|
||||
|
||||
|
||||
func _init(id: String) -> void:
|
||||
save_id = id
|
||||
shards_collected = []
|
||||
|
@ -28,6 +31,8 @@ class LevelSaveData:
|
|||
# set times
|
||||
file.set_value(save_id, "time_any", time_any)
|
||||
file.set_value(save_id, "time_100", time_100)
|
||||
# set deaths
|
||||
file.set_value(save_id, "deaths", deaths)
|
||||
# set collected keys
|
||||
file.set_value(save_id, "keys", keys_collected)
|
||||
# set collected shards
|
||||
|
@ -42,6 +47,8 @@ class LevelSaveData:
|
|||
# get times
|
||||
time_any = file.get_value(save_id, "time_any", INF)
|
||||
time_100 = file.get_value(save_id, "time_100", INF)
|
||||
# get deaths
|
||||
deaths = file.get_value(save_id, "deaths", 0)
|
||||
# get collected keys
|
||||
keys_collected = file.get_value(save_id, "keys", keys_collected)
|
||||
# get collected shards
|
||||
|
@ -80,6 +87,13 @@ class SaveFile:
|
|||
total += level.keys_collected
|
||||
return total
|
||||
|
||||
# return total number of deaths
|
||||
func get_total_deaths() -> int:
|
||||
var total = 0
|
||||
for level in levels.values():
|
||||
total += level.deaths
|
||||
return total
|
||||
|
||||
func load_from_file() -> void:
|
||||
var file = ConfigFile.new()
|
||||
file.load(file_path)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue