summaryrefslogtreecommitdiff
path: root/scenes/levels/typeracer.gd
blob: 50582a04157d40254609ea6c9388cec440359200 (plain)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
extends Level

onready var timer_label = $TimeLabel

var timer = 0
var total = 0

var started = false

func start():
	.start()
	total = _total_time()
	running = true
	$Incorrect.visible = false


func _total_time():
	if Settings.difficulty == Settings.Difficulty.HARD:
		return 30
	return 120
	
func _process(delta):
	if not running:
		return
	if not started:
		return
	timer += delta
	timer_label.text = str(total - timer)
	if timer >= total:
		eval()

func eval():
	if $Label.text.replace('\n', '').replace('\r\n', '').replace('\r', '').replace(' ', '') == $TextEdit.text.replace('\n', '').replace('\r\n', '').replace('\r', '').replace(' ', ''):
		$TextEdit.readonly = true
		$Button.disabled = true
		$Incorrect.visible = false
		finish_level()
	else:
		lose_heart()
		timer = 0
		$TextEdit.text = ""
		$Incorrect.visible = true
		started = false

func eval_corr():
	if $Label.text.replace('\n', '').replace('\r\n', '').replace('\r', '').replace(' ', '') == $TextEdit.text.replace('\n', '').replace('\r\n', '').replace('\r', '').replace(' ', ''):
		$TextEdit.readonly = true
		$Button.disabled = true
		$Incorrect.visible = false
		finish_level()

func _on_Button_on_click():
	eval()


func _on_TextEdit_text_changed():
	if not started:
		started = true
	eval_corr()