Files
Documentation/content/ui-systems/_index.fr.md
2026-01-20 20:33:59 +01:00

3.2 KiB

title, type, weight
title type weight
Systèmes UI docs 5

La section Systèmes UI couvre l'interface utilisateur, les permissions et les pages personnalisées.

Vue d'Ensemble

{{< cards cols="2" >}} {{< card link="hud-manager" title="Gestionnaire HUD" subtitle="Contrôler la visibilité des éléments HUD" icon="eye" >}} {{< card link="custom-pages" title="Pages Personnalisées" subtitle="Créer des interfaces interactives" icon="document" >}} {{< card link="windows" title="Fenêtres" subtitle="Conteneurs d'inventaire et crafting" icon="collection" >}} {{< card link="ui-files" title="Fichiers UI" subtitle="Le langage de balisage .ui" icon="code" >}} {{< card link="ui-syntax" title="Syntaxe UI" subtitle="Variables, imports, templates" icon="document" >}} {{< card link="ui-widgets" title="Widgets UI" subtitle="Types de widgets disponibles" icon="cube" >}} {{< card link="ui-properties" title="Propriétés UI" subtitle="Anchor, layout, padding" icon="adjustments" >}} {{< card link="ui-styles" title="Styles UI" subtitle="Système de styles" icon="color-swatch" >}} {{< card link="permissions" title="Permissions" subtitle="Permissions joueur et contrôle d'accès" icon="shield-check" >}} {{< /cards >}}

Architecture UI

Le système UI se compose de trois couches principales :

  1. HUD - Éléments persistants à l'écran (barre de vie, hotbar, etc.)
  2. Pages - Overlays plein écran (menus, interfaces personnalisées)
  3. Fenêtres - Interfaces de conteneur (coffres, crafting)

Accéder au Système UI

Player player = ...;

// Gestionnaire HUD - contrôle la visibilité des composants HUD
HudManager hudManager = player.getHudManager();

// Gestionnaire de Pages - gère les overlays et pages personnalisées
PageManager pageManager = player.getPageManager();

// Gestionnaire de Fenêtres - gère les interfaces de conteneur
WindowManager windowManager = player.getWindowManager();

Utilisation Rapide

Afficher/Masquer les Éléments HUD

// Masquer le compas et le speedomètre
hudManager.hideHudComponents(player.getPlayerRef(),
    HudComponent.Compass,
    HudComponent.Speedometer
);

// N'afficher que les éléments essentiels
hudManager.setVisibleHudComponents(player.getPlayerRef(),
    HudComponent.Hotbar,
    HudComponent.Health,
    HudComponent.Reticle
);

Ouvrir une Page Personnalisée

// Créer et ouvrir une page personnalisée
MyCustomPage page = new MyCustomPage(player.getPlayerRef());
pageManager.openCustomPage(
    player.getReference(),
    player.getReference().getStore(),
    page
);

Ouvrir une Fenêtre de Conteneur

// Ouvrir un conteneur de coffre
ContainerWindow window = new ContainerWindow(
    1,  // ID de fenêtre
    WindowType.Container,
    chestContainer
);
pageManager.setPageWithWindows(ref, store, Page.None, true, window);

Bonnes Pratiques

{{< callout type="info" >}} Directives UI :

  • Utilisez toujours PlayerRef lors de l'appel des méthodes HUD
  • Nettoyez les pages et fenêtres lors de la déconnexion du joueur
  • Utilisez sendUpdate() pour les petits changements, rebuild() pour les changements majeurs
  • Testez les interactions UI dans différents modes de jeu {{< /callout >}}