UI Reference
Reference notes and patterns for CSL UI drawing.
Core principles
Quick start: a simple HUD button
Player :: class : Player_Base {
ao_late_update :: method(dt: float) {
if this->is_local_or_server() {
draw_my_hud(this);
}
}
}
draw_my_hud :: proc(player: Player) {
rect := UI.get_safe_screen_rect()
->bottom_right_rect()
->grow(40, 150, 40, 150)
->offset(-50, 50);
bs := UI.default_button_settings();
ts := UI.default_text_settings();
if UI.button(rect, bs, ts, "Action").clicked {
do_action(player);
}
}Basic drawing
Quads and images
Text
Layouting: start from rects
Use cut for layout
Auto-scaling and unscaled rects
Buttons
Button sprite rules
UI state management
IDs for repeated elements
Common sizes
Best practices
Last updated