road-rage-tank/levels/level.gd

36 lines
594 B
GDScript

class_name Level
extends Node3D
signal level_started
static var level: Level
@export var active := false
var start_time_msec := 0
static func start_game() -> void:
if level:
level.active = true
level.level_started.emit()
level.start_time_msec = Time.get_ticks_msec()
static func is_active() -> bool:
if level:
return level.active
else:
return false
func _ready() -> void:
%ResultsScreen.hide()
level = self
if active:
start_game()
func _on_player_died() -> void:
active = false
%DeathAnimation.play(&"death")
%ResultsScreen.update_labels()
%ResultsScreen.show()