extends Control

onready var label : Label = $MarginContainer/Label
onready var timer = $Timer

var game_mode
var max_time = 30
var current_time = 0

func _ready():
	Signals.connect("update_score",self,"update_score")


func update_score(score: int):
	label.text = String(score)


func start(mode: String):
	match mode:
		"score":
			update_score(0)
			show()
		"time":
			update_score(max_time)
			show()
			current_time = 0
			timer.start()
		_:
			print("game_mode not recognized by scoreUI")


func set_max_time(time: int):
	max_time = time

func init(mode, goal: int):
	game_mode = mode
	if (goal != 0):
		max_time = goal
	hide()


func stop():
	timer.stop()


func _on_Timer_timeout() -> void:
	current_time += 1
	var n = max_time - current_time
	if n < 0:
		n = 0
	update_score(n)
	if n == 0:
		Signals.emit_signal("win")
		timer.stop()
		
