clockwork-city/addons/tube/inspector/tracker_control.gd

65 lines
1.6 KiB
GDScript3
Raw Normal View History

2026-04-13 11:34:00 -05:00
class_name EditorTubeTrackerControl extends Control
## @experimental: This class is used as part of the TubeClientDebugPanel scene and is part of a scene. Should not be used as itself.
@export var tracker_item: EditorTubeTrackerItemControl:
set(x):
show()
if is_instance_valid(messages_container):
if tracker_item != x or not messages_container.is_displaying_from(self):
messages_container.display_messages(
x.message_item_controls,
self
)
if is_instance_valid(url_label):
url_label.text = str(x.tracker)
tracker_item = x
@export var messages_container: EditorTubeMessagesContainer
@onready var url_label: Label = %UrlLabel
@onready var connection_time_label: Label = %ConnectingTimeLabel
@onready var up_time_label: Label = %UpTimeLabel
@onready var interval_time_left_label: Label = %IntervalTimeLeftLabel
@onready var interval_time_label: Label = %IntervalTimeLabel
func _ready() -> void:
hide()
func update_messages():
if null == tracker_item:
return
if is_instance_valid(messages_container):
if messages_container.is_displaying_from(self):
messages_container.display_messages(
tracker_item.message_item_controls,
self
)
func _process(_delta: float) -> void:
if null == tracker_item:
return
connection_time_label.text = str(
tracker_item.tracker.connecting_time
).pad_decimals(3)
up_time_label.text = str(
tracker_item.tracker.up_time
).pad_decimals(3)
interval_time_left_label.text = str(
tracker_item.tracker.interval_time_left
).pad_decimals(3)
interval_time_label.text = str(
tracker_item.tracker.interval_time
).pad_decimals(3)