Interface déclarative
Votre mod ne dessine pas son interface : il la décrit sous forme d’un arbre de composants. NeoPiano la construit avec ses propres composants et son thème. Résultat : votre interface a exactement l’allure de NeoPiano, s’adapte à sa langue et à son style, et reste accessible.
Un panneau dans le dock
Section intitulée « Un panneau dans le dock »Capacité requise : ui.panel.
neo.ui.panel({ id = "main", title = "Chord Coach", icon = "piano", -- une icône Material Symbols content = { type = "column", children = { { type = "section", title = "Affichage", children = { { type = "toggle", id = "show_hud", label = "Afficher le HUD", value = true }, { type = "slider", id = "size", label = "Taille", min = 1, max = 3, value = 2 }, } }, { type = "separator" }, { type = "label", id = "count", text = "0 accord" }, { type = "button", id = "reset", text = "Remettre à zéro" }, } },})Un HUD au-dessus de la scène
Section intitulée « Un HUD au-dessus de la scène »Capacité requise : ui.hud. Un HUD s’ancre à un coin de l’écran.
neo.ui.hud({ type = "label", id = "chord", text = "–" }, "top_right")Une notification
Section intitulée « Une notification »Capacité requise : ui.toast.
neo.ui.toast("Progression enregistrée", "success") -- "info", "success" ou "warning"Mettre à jour sans reconstruire
Section intitulée « Mettre à jour sans reconstruire »neo.ui.set change une propriété d’un composant existant : texte, valeur, visibilité, état activé.
neo.ui.set("count", "text", total .. " accords")neo.ui.set("reset", "enabled", total > 0)neo.ui.remove(id) retire un panneau ou un HUD.
Réagir aux actions du joueur
Section intitulée « Réagir aux actions du joueur »Chaque interaction appelle le callback on_ui avec l’identifiant du composant, l’événement et la nouvelle valeur :
function on_ui(id, event, value) if id == "show_hud" and event == "change" then neo.ui.set("chord", "visible", value) elseif id == "reset" and event == "click" then total = 0 neo.ui.set("count", "text", "0 accord") endendComposants
Section intitulée « Composants »La liste complète, avec leurs propriétés, est dans la référence des composants.
| Disponibles API 2 | Prévus Prochainement |
|---|---|
column, row, section, label, icon, button, toggle, slider, dropdown, color_picker, progress, separator |
stepper, segmented, text_input, note_picker, mini_keyboard, meter, bar_chart, list, image |
Documentation synchronisée avec NeoPiano · commit cbf48cc · 17 octobre 2026