ZPROJECT

Éléments de menu

Par
Sören
v1.0.6

Séparateur

Un séparateur permet d’organiser visuellement les éléments :

lua
Items:AddSeparator("Paramètres")

Une position peut également être transmise :

lua
Items:AddSeparator("Paramètres", "right")

Ligne

Ajoutez une séparation visuelle avec :

lua
Items:AddLine()

Bouton

lua
Items:AddButton(
    "Titre",
    "Description du bouton",
    {},
    function(onSelected, onHovered)
        if onSelected then
            print("Bouton sélectionné")
        end
    end
)

Un sous-menu peut être transmis en dernier argument pour créer une navigation.

Bouton lien

lua
Items:AddLinkButton(
    "Visiter le site",
    "Ouvre le site de la zSquad.",
    {},
    "https://zsquad.fr"
)

Le lien est ouvert lorsque l’utilisateur sélectionne l’élément.

Checkbox

lua
local checkboxState = false

Items:AddCheckbox(
    "Activer la fonctionnalité",
    "Active ou désactive cette option.",
    checkboxState,
    {},
    function(onSelected, onHovered)
        if onSelected then
            checkboxState = not checkboxState
        end
    end
)

L’état doit être conservé dans une variable afin que l’interface affiche la valeur actuelle.

Slider

lua
local percentage = 0

Items:AddSlider(
    "Volume",
    "Modifie le niveau sonore.",
    percentage,
    10,
    {},
    function(onSelected, onHovered, onChange, newPercentage)
        if onChange then
            percentage = newPercentage
        end
    end
)

Le callback reçoit onChange lors d’une modification et la nouvelle valeur dans son dernier paramètre.

Liste

lua
local index = 1
local values = { "Item #1", "Item #2", "Item #3" }

Items:AddList(
    "Sélection",
    "Choisissez une valeur.",
    index,
    values,
    {},
    function(onSelected, onHovered, onListChange, newIndex)
        if onListChange then
            index = newIndex
        end
    end
)

L’index commence à 1, comme les tableaux Lua classiques.

Liste de couleurs

lua
local colorListIndex = 1
local colors = {
    "#00ff00",
    "#fffd2c",
    "#ff00ff",
    "#ff0000",
    "#0000ff"
}

Items:AddColorList(
    "Couleur",
    "Choisissez une couleur.",
    colorListIndex,
    colors,
    {},
    function(onSelected, onHovered, onListChange, newIndex)
        if onListChange then
            colorListIndex = newIndex
        end
    end
)

Les couleurs sont transmises sous forme de valeurs hexadécimales.