V-Panel/scenes/dashboard.gd

52 lines
1.2 KiB
GDScript3
Raw Normal View History

@tool
extends PanelContainer
@onready var grid: DashboardGrid = %DashboardGrid
var _modules: Array = []
func _ready() -> void:
_set_background()
if not Engine.is_editor_hint():
_add_modules()
func _set_background() -> void:
var bg: StyleBoxFlat
if ConfigManager.has_method("get_color"):
bg = StyleBoxFlat.new()
bg.bg_color = ConfigManager.get_color("background_color", Color(0.08, 0.08, 0.12))
else:
bg = StyleBoxFlat.new()
bg.bg_color = Color(0.08, 0.08, 0.12)
add_theme_stylebox_override("panel", bg)
func _add_modules() -> void:
var cpu := preload("res://panels/cpu/cpu_module.tscn").instantiate()
grid.place_module(cpu, 0, 0)
_modules.append(cpu)
var mem := preload("res://panels/memory/memory_module.tscn").instantiate()
grid.place_module(mem, 1, 0)
_modules.append(mem)
var test := preload("res://panels/testing/testing_module.tscn").instantiate()
grid.place_module(test, 2, 0)
_modules.append(test)
var timer := Timer.new()
timer.timeout.connect(_refresh_modules)
timer.autostart = true
timer.wait_time = 1.0
add_child(timer)
func _refresh_modules() -> void:
var data: Dictionary = {}
for mod in _modules:
if is_instance_valid(mod) and mod.has_method("refresh"):
mod.refresh(data)