Files
Kalulu/sources/menus/device_selection/device_selection.gd
T
2025-09-05 15:55:48 +02:00

33 lines
1005 B
GDScript

extends Control
const DEVICE_BUTTON_SCENE: PackedScene = preload("res://sources/menus/main/device_button.tscn")
const LOGIN_SCENE_PATH: String = "res://sources/menus/login/login.tscn"
@onready var container: GridContainer = %GridContainer
func _ready() -> void:
_refresh()
func _refresh() -> void:
if not UserDataManager.teacher_settings:
return
for child: Node in container.get_children():
child.queue_free()
for device: int in UserDataManager.teacher_settings.students.keys():
var button: DeviceButton = DEVICE_BUTTON_SCENE.instantiate()
button.number = device
button.background_color = Globals.device_colors[device-1 % Globals.device_colors.size()]
container.add_child(button)
button.pressed.connect(_device_button_pressed.bind(device))
OpeningCurtain.open()
func _device_button_pressed(device: int) -> void:
Logger.trace("DeviceSelection: User selected device %d" % device)
if UserDataManager.set_device_id(device):
get_tree().change_scene_to_file(LOGIN_SCENE_PATH)