Added a dynamic layout system where UI elements can be moved about on a tiled grid.

This commit is contained in:
RedNicStone committed 2026-11-09 18:14:52 +01:00
1 parent ea6ba54666
commit 26c29df4ad
34 files changed
+1269

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
@tool
extends ColorRect
@export var grid_size := Vector2i(32, 18):
set(value):
grid_size = value
if is_node_ready():
_update_material()
@export var monitor_boundary := 0:
set(value):
monitor_boundary = value
if is_node_ready():
_update_material()
func _ready() -> void:
theme_changed.connect(_update_material)
_update_material()
func _gui_input(_event: InputEvent) -> void:
accept_event()
func _update_material() -> void:
var shader_material := material as ShaderMaterial
shader_material.set_shader_parameter("grid_size", Vector2(grid_size))
shader_material.set_shader_parameter("monitor_boundary", float(monitor_boundary))
shader_material.set_shader_parameter("line_color", get_theme_color("instrument_grid", "SurfaceSide"))
shader_material.set_shader_parameter("boundary_color", get_theme_color("accent", "SurfaceSide"))