72 lines
1.6 KiB
GDScript
72 lines
1.6 KiB
GDScript
extends Control
|
|
|
|
@onready
|
|
var player_name_field := $HBoxContainer/Name
|
|
|
|
@onready
|
|
var points := $HBoxContainer/Points
|
|
|
|
@onready
|
|
var add := $HBoxContainer/AddPoint
|
|
|
|
@onready
|
|
var minus := $HBoxContainer/RemovePoint
|
|
|
|
@onready
|
|
var character := $HBoxContainer/Character
|
|
|
|
signal change_character_clicked
|
|
signal first_point_triggerd
|
|
signal match_point_triggerd
|
|
signal winner_triggerd
|
|
|
|
var player_name: String
|
|
|
|
var is_first_point: bool = true
|
|
|
|
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
add.pressed.connect(add_point)
|
|
minus.pressed.connect(minus_point)
|
|
character.pressed.connect(change_character)
|
|
player_name_field.text = player_name
|
|
|
|
func new_name(new_name: String):
|
|
player_name = new_name
|
|
|
|
func add_point():
|
|
if is_first_point:
|
|
is_first_point = false
|
|
first_point_triggerd.emit()
|
|
|
|
var new_value := int(points.text) + 1
|
|
points.text = str(new_value)
|
|
|
|
if new_value == Settings.winning_score - 1:
|
|
match_point_triggerd.emit()
|
|
|
|
if new_value == Settings.winning_score:
|
|
winner_triggerd.emit()
|
|
|
|
func minus_point():
|
|
var new_value := int(points.text) - 1
|
|
points.text = str(new_value)
|
|
|
|
if new_value == 0:
|
|
is_first_point = true
|
|
|
|
func change_character():
|
|
print("change_character")
|
|
change_character_clicked.emit()
|
|
|
|
func _on_control_character_selected_clicked(file_name: String):
|
|
print("Back in player list with: " + file_name)
|
|
|
|
var texture = load("res://characters/" + file_name)
|
|
character.custom_minimum_size = Vector2(80, 40)
|
|
character.ignore_texture_size = true
|
|
character.stretch_mode = TextureButton.STRETCH_KEEP_ASPECT
|
|
character.texture_normal = texture
|