Init
This commit is contained in:
97
content/ui-systems/_index.fr.md
Normal file
97
content/ui-systems/_index.fr.md
Normal file
@@ -0,0 +1,97 @@
|
||||
---
|
||||
title: Systèmes UI
|
||||
type: docs
|
||||
weight: 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
|
||||
|
||||
```java
|
||||
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
|
||||
|
||||
```java
|
||||
// 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
|
||||
|
||||
```java
|
||||
// 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
|
||||
|
||||
```java
|
||||
// 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 >}}
|
||||
Reference in New Issue
Block a user