clockwork-city/prefabs/lobby/join_session.gd
duncgibbs a9352d337d
Some checks failed
linting & formatting / build (push) Failing after 24s
way too many changes; multiplayer version, like, 0.6 or 0.7
2026-04-20 13:03:39 -05:00

44 lines
1.3 KiB
GDScript

extends VBoxContainer
signal join_session(session_id: String, player: Player)
@onready var session_id_line_edit: LineEdit = %SessionIdLineEdit
@onready var name_line_edit: LineEdit = %NameLineEdit
@onready var player_color: ColorPickerButton = %PlayerColor
@onready var join_session_button: Button = %JoinSession
func _ready() -> void:
player_color.color = Color(randf(), randf(), randf())
var picker := player_color.get_picker()
picker.picker_shape = ColorPicker.SHAPE_HSV_WHEEL
picker.sampler_visible = false
picker.edit_alpha = false
picker.edit_intensity = false
picker.color_modes_visible = false
picker.sliders_visible = false
picker.hex_visible = false
picker.presets_visible = false
picker.can_add_swatches = false
func _on_session_id_line_edit_text_changed(new_text: String) -> void:
if !new_text.is_empty() and !name_line_edit.text.is_empty():
join_session_button.disabled = false
else:
join_session_button.disabled = true
func _on_name_line_edit_text_changed(new_text: String) -> void:
if !new_text.is_empty() and !session_id_line_edit.text.is_empty():
join_session_button.disabled = false
else:
join_session_button.disabled = true
func _on_join_session_pressed():
var player = Player.new()
player.name = name_line_edit.text
player.color = player_color.color
join_session.emit(session_id_line_edit.text, player)