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)