forked from team-sg/hero-mark-2
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)
|
Fade.fade_out(0.4)
|
||||||
yield(Fade, "fade_finished")
|
yield(Fade, "fade_finished")
|
||||||
can_pause = true
|
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()
|
clear_collectibles()
|
||||||
#Loop is so no more than one level is loaded at a time
|
#Loop is so no more than one level is loaded at a time
|
||||||
SceneManager.current_scene = map.instance()
|
SceneManager.current_scene = map.instance()
|
||||||
|
@ -169,6 +175,7 @@ func has_collection_bonus():
|
||||||
|
|
||||||
# called when player dies
|
# called when player dies
|
||||||
func _on_player_died() -> void:
|
func _on_player_died() -> void:
|
||||||
|
deaths += 1
|
||||||
if lives <= 0 and use_lives:
|
if lives <= 0 and use_lives:
|
||||||
Audio.play_sound(Audio.a_gover, Audio.ac_die)
|
Audio.play_sound(Audio.a_gover, Audio.ac_die)
|
||||||
get_tree().get_nodes_in_group("player")[0].queue_free()
|
get_tree().get_nodes_in_group("player")[0].queue_free()
|
||||||
|
@ -181,7 +188,6 @@ func _on_player_died() -> void:
|
||||||
else:
|
else:
|
||||||
# count death
|
# count death
|
||||||
lives -= 1
|
lives -= 1
|
||||||
deaths += 1
|
|
||||||
# play death sound
|
# play death sound
|
||||||
Audio.play_sound(Audio.a_die, Audio.ac_die)
|
Audio.play_sound(Audio.a_die, Audio.ac_die)
|
||||||
# death score penalty
|
# death score penalty
|
||||||
|
|
|
@ -10,9 +10,12 @@ class LevelSaveData:
|
||||||
var time_any: float = INF
|
var time_any: float = INF
|
||||||
var time_100: float = INF
|
var time_100: float = INF
|
||||||
|
|
||||||
|
var deaths: int
|
||||||
|
|
||||||
var keys_collected: int = 0
|
var keys_collected: int = 0
|
||||||
var shards_collected: Array
|
var shards_collected: Array
|
||||||
|
|
||||||
|
|
||||||
func _init(id: String) -> void:
|
func _init(id: String) -> void:
|
||||||
save_id = id
|
save_id = id
|
||||||
shards_collected = []
|
shards_collected = []
|
||||||
|
@ -28,6 +31,8 @@ class LevelSaveData:
|
||||||
# set times
|
# set times
|
||||||
file.set_value(save_id, "time_any", time_any)
|
file.set_value(save_id, "time_any", time_any)
|
||||||
file.set_value(save_id, "time_100", time_100)
|
file.set_value(save_id, "time_100", time_100)
|
||||||
|
# set deaths
|
||||||
|
file.set_value(save_id, "deaths", deaths)
|
||||||
# set collected keys
|
# set collected keys
|
||||||
file.set_value(save_id, "keys", keys_collected)
|
file.set_value(save_id, "keys", keys_collected)
|
||||||
# set collected shards
|
# set collected shards
|
||||||
|
@ -42,6 +47,8 @@ class LevelSaveData:
|
||||||
# get times
|
# get times
|
||||||
time_any = file.get_value(save_id, "time_any", INF)
|
time_any = file.get_value(save_id, "time_any", INF)
|
||||||
time_100 = file.get_value(save_id, "time_100", INF)
|
time_100 = file.get_value(save_id, "time_100", INF)
|
||||||
|
# get deaths
|
||||||
|
deaths = file.get_value(save_id, "deaths", 0)
|
||||||
# get collected keys
|
# get collected keys
|
||||||
keys_collected = file.get_value(save_id, "keys", keys_collected)
|
keys_collected = file.get_value(save_id, "keys", keys_collected)
|
||||||
# get collected shards
|
# get collected shards
|
||||||
|
@ -80,6 +87,13 @@ class SaveFile:
|
||||||
total += level.keys_collected
|
total += level.keys_collected
|
||||||
return total
|
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:
|
func load_from_file() -> void:
|
||||||
var file = ConfigFile.new()
|
var file = ConfigFile.new()
|
||||||
file.load(file_path)
|
file.load(file_path)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue