generated from krampus/template-godot4
65 lines
1.6 KiB
GDScript3
65 lines
1.6 KiB
GDScript3
|
|
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)
|