33 lines
566 B
GDScript
33 lines
566 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
|
|
|
|
func _on_player_died() -> void:
|
|
active = false
|
|
%DeathAnimation.play(&"death")
|
|
%ResultsScreen.update_labels()
|
|
%ResultsScreen.show()
|
|
|