UI
UiBox
Invisible UI container.
Base UI node. Positions and sizes resolve against parent UI rect or virtual viewport at root.
Source: perro_source/core/perro_ui/src/lib.rs
Fields
rectmin_sizemax_sizescalerotationvisibleinput_enabled
pub struct UiBox { pub rect: UiRect, pub min_size: Vector2, pub max_size: Vector2, pub scale: Vector2, pub rotation: f32,}Scene template
[node_instance]tags = ["runtime", "demo"]parent = @rootscript = "res://script.rs"script_vars = { speed = 4.0, health = 100 } [UiBox] rect = (16, 16, 160, 48) min_size = (120, 40) max_size = (120, 40) scale = (1, 1) rotation = 0.0 [/UiBox][/node_instance]Script API
Create
let node_id = create_node!(ctx, UiBox, "Spawned Node", ["enemy", "runtime"], parent_id);Access / mutate
let value = with_node!(ctx, UiBox, node_id, |node| { node.rect}); let pair = with_node!(ctx, UiBox, node_id, |node| { (node.rect, node.min_size)}); with_node_mut!(ctx, UiBox, node_id, |node| { node.rect = UiRect::new(16.0, 16.0, 160.0, 48.0);});