mirror of
https://github.com/danbulant/programovani-kostky
synced 2026-05-19 04:08:37 +00:00
52 lines
No EOL
1.5 KiB
GDScript
52 lines
No EOL
1.5 KiB
GDScript
extends Control
|
|
class_name Ui
|
|
|
|
signal roll_pressed
|
|
func _on_roll_button_pressed() -> void:
|
|
roll_pressed.emit()
|
|
|
|
@onready var dice1 = $dice1
|
|
@onready var dice2 = $dice2
|
|
|
|
func set_current_throw_value(value: Array[int]) -> void:
|
|
dice1.value = value[0]
|
|
dice2.value = value[1]
|
|
|
|
@onready var player1 = $VBoxContainer/Player
|
|
@onready var player2 = $VBoxContainer/Player2
|
|
@onready var player3 = $VBoxContainer/Player3
|
|
@onready var player4 = $VBoxContainer/Player4
|
|
@onready var player5 = $VBoxContainer/Player5
|
|
@onready var container = $VBoxContainer
|
|
@onready var pointer = $CurrentPlayerPointer
|
|
|
|
var players: Array[Player] = []
|
|
var current_player: int = 0 :
|
|
set(value):
|
|
current_player = value
|
|
update_pointer()
|
|
|
|
var tween: Tween
|
|
func _ready() -> void:
|
|
players = [player1, player2, player3, player4, player5]
|
|
|
|
func update_pointer() -> void:
|
|
pointer.global_position.x = container.size.x
|
|
var p = players[current_player]
|
|
if tween: tween.kill()
|
|
tween = create_tween().set_trans(Tween.TRANS_ELASTIC)
|
|
tween.tween_property(pointer, "global_position:y", p.global_position.y + p.size.y/2 - pointer.size.y/2, .6)
|
|
|
|
func update_medal() -> void:
|
|
var max_score = 0
|
|
for player in players:
|
|
if player.score > max_score:
|
|
max_score = player.score
|
|
for player in players:
|
|
player.show_medal = player.score == max_score and max_score > 0
|
|
|
|
signal back_to_menu
|
|
func _on_texture_rect_gui_input(event: InputEvent) -> void:
|
|
if event is InputEventMouse:
|
|
if event.is_pressed():
|
|
back_to_menu.emit() |