EasyUniversal / DocsДокументация · SDK 0.3Подписка Universal ↗
Easy Universal / Примеры и шаблоны

templates/settings-panel/main.as

AngelScript · native runtime · локальная сборка
// Synthetic example. Explicit storage consent is required; no game or network.
bool marker = true;
uint size_index = 1;
void save_settings() {
    config::set("marker", marker ? "true" : "false");
    config::set("size", size_index == 0 ? "small" : size_index == 1 ? "medium" : "large");
}
void on_load() {
    marker = config::get("marker", "true") != "false";
    string preset = config::get("size", "medium");
    size_index = preset == "small" ? 0 : preset == "large" ? 2 : 1;
}
void on_frame() {
    render::rect(16,16,320,240,0x18181cff,true);
    render::text(28,28,"Easy settings template",0xff994dff);
    marker = ui::checkbox("marker","Show synthetic marker",marker,28,56,296,32);
    string label = size_index == 0 ? "Small" : size_index == 1 ? "Medium" : "Large";
    size_index = ui::cycle("size","Marker size: " + label,size_index,3,28,96,296,32);
    if(ui::button("save","Save settings",28,144,140,32)) save_settings();
    if(ui::button("reset","Reset defaults",180,144,144,32)) {
        marker = true; size_index = 1; save_settings();
    }
    render::text(28,194,"Changes stay in memory until Save.");
    render::text(28,216,"Demo only; no live application data.");
    if(marker) render::filled_circle(screen::width()*0.75f,screen::height()*0.5f,
        size_index == 0 ? 12 : size_index == 1 ? 24 : 36,0xff994da0);
}
Easy Universal — отдельный проект. Easy External не изменён.