generated from UVASGD/ProjectTemplate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGameTimer.gd
36 lines (26 loc) · 969 Bytes
/
GameTimer.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
extends Node2D
@onready var timeRemaining : float = 0
@onready var exploded : bool = false
@onready var label = $Label
@onready var whiteMesh = get_parent().get_node("MeshInstance2D")
var defused : bool = false
# Called when the node enters the scene tree for the first time.
func _ready():
timeRemaining = 300
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if not exploded and not defused:
if timeRemaining > 0:
timeRemaining -= delta
var ms = fmod(timeRemaining, 1)*1000
var secs = fmod(timeRemaining, 60)
var mins = fmod(timeRemaining, 60*60) / 60
var timePassed = "%02d : %02d . %03d" % [mins, secs, ms]
label.text = timePassed
else:
exploded = true
var tween = create_tween()
tween.tween_property(whiteMesh, "modulate:a", 1, 3)
$Boom.play()
await get_tree().create_timer(4).timeout
get_tree().change_scene_to_file("res://scenes/game_over.tscn")