-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathscore.gd
42 lines (34 loc) · 1.1 KB
/
score.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
37
38
39
40
41
42
extends HBoxContainer
var player_labels = {}
func _process(_delta):
var rocks_left = get_node("../rocks").get_child_count()
if rocks_left == 0:
var winner_name = ""
var winner_score = 0
for p in player_labels:
if player_labels[p].score > winner_score:
winner_score = player_labels[p].score
winner_name = player_labels[p].name
get_node("../winner").set_text("THE WINNER IS:\n" + winner_name)
get_node("../winner").show()
sync func increase_score(for_who):
assert(for_who in player_labels)
var pl = player_labels[for_who]
pl.score += 1
pl.label.set_text(pl.name + "\n" + str(pl.score))
func add_player(id, new_player_name):
var l = Label.new()
l.set_align(Label.ALIGN_CENTER)
l.set_text(new_player_name + "\n" + "0")
l.set_h_size_flags(SIZE_EXPAND_FILL)
var font = DynamicFont.new()
font.set_size(18)
font.set_font_data(preload("res://montserrat.otf"))
l.add_font_override("font", font)
add_child(l)
player_labels[id] = { name = new_player_name, label = l, score = 0 }
func _ready():
get_node("../winner").hide()
set_process(true)
func _on_exit_game_pressed():
gamestate.end_game()