Files
car-os/sensor_approval/sensor_approval.gd
T

52 lines
1.5 KiB
GDScript
Raw Normal View History

2026-07-04 18:22:23 -06:00
extends PanelContainer
var ip_label: Label
var data_instance: Node
var sensor_ip: String = "127.0.0.1"
var data_labels = ["PNT", "Accel", "Gyro", "Magnet", "2D Lidar"]
2026-07-04 18:22:23 -06:00
var provided_data: Array = [0, 0, 0, 0]
var data_columns: Array
@export var data_column_scene: PackedScene
func _setup_data_columns():
var container = get_node('HBoxContainer')
for i in range(provided_data.size()):
var spacer: Control = container.add_spacer(false)
spacer.size = Vector2(2, 0)
var column_instance = data_column_scene.instantiate()
column_instance.get_node('DataLabel').text = data_labels[i]
data_columns.append(column_instance)
if provided_data[i] == 0:
column_instance.get_node('DataValue').text = "False"
else:
column_instance.get_node('DataValue').text = "True"
container.add_child(column_instance)
func set_provided_data(incoming_sensor_ip: String, sensor_class: String):
2026-07-04 18:22:23 -06:00
sensor_ip = incoming_sensor_ip
ip_label = get_node('HBoxContainer/Label')
ip_label.text = sensor_ip
if sensor_class == "VEHICLE":
provided_data = [1, 1, 1, 1, 0]
elif sensor_class == "LIDAR_2D":
provided_data = [1, 1, 1, 0, 1]
2026-07-04 18:22:23 -06:00
if data_columns.size() == 0:
_setup_data_columns()
else:
for idx in range(provided_data.size()):
if provided_data[idx] == 0:
data_columns[idx].get_node('DataValue').text = "False"
else:
data_columns[idx].get_node('DataValue').text = "True"
func _on_approve_pressed() -> void:
ServerSignals.sensor_approved.emit(sensor_ip)
func _on_decline_pressed() -> void:
ServerSignals.sensor_declined.emit(sensor_ip)