Fixed add player process where name can be set. Added signals for points. Added settings file. Changed some shortcuts.
This commit is contained in:
40
Player.gd
40
Player.gd
@@ -1,7 +1,7 @@
|
||||
extends Control
|
||||
|
||||
@onready
|
||||
var player_name := $HBoxContainer/Name
|
||||
var player_name_field := $HBoxContainer/Name
|
||||
|
||||
@onready
|
||||
var points := $HBoxContainer/Points
|
||||
@@ -16,29 +16,47 @@ var minus := $HBoxContainer/RemovePoint
|
||||
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():
|
||||
print("_ready")
|
||||
add.pressed.connect(add_point)
|
||||
minus.pressed.connect(minus_point)
|
||||
character.pressed.connect(change_character)
|
||||
player_name.mouse_filter = Control.MOUSE_FILTER_PASS
|
||||
player_name.gui_input.connect(name_clicked)
|
||||
player_name_field.text = player_name
|
||||
|
||||
func name_clicked(event):
|
||||
if (event is InputEventMouseButton && event.pressed && event.button_index == MOUSE_BUTTON_LEFT):
|
||||
print("Clicked: " + player_name.text)
|
||||
func new_name(new_name: String):
|
||||
player_name = new_name
|
||||
|
||||
func add_point():
|
||||
var value := int(points.text)
|
||||
points.text = str(value + 1)
|
||||
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 value := int(points.text)
|
||||
points.text = str(value - 1)
|
||||
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()
|
||||
|
||||
Reference in New Issue
Block a user