Écran de chargement
Dans nanos world il est possible d'ajouter un écran de chargement personnalisé et dynamique à votre serveur en utilisant WebUI.
Création d'un écran de chargement
Pour cela, vous devez créer un nouveau Package de type loading-screen, et ajouter vos fichiers HTML/CSS/JS dans le dossier racine du Package. Votre fichier HTML principal doit s'appeler index.html
. Votre dossier devrait ressembler à cela :
Packages/
└── my-loading-screen/
├── Package.toml
├── index.html
├── style.css
└── ...
Accéder à la progression de chargement/téléchargement
Pour pouvoir afficher des informations dynamiques sur l'écran, vous pouvez utiliser l'event UpdateScreen
(qui va être appelé toutes les quelques ms):
L'évènement UpdateScreen
Paramètre | Description |
---|---|
message | Affiche l'état actuel (loading, validating, downloading... ) |
message_secondary | Affiche le fichier/asset actuel en cours de chargement/téléchargement |
progress_small | Progression du fichier en cours de chargement/téléchargement |
progress_small_total | Taille du fichier en cours de chargement/téléchargement |
progress | Progression actuelle |
progress_total | Progression totale |
current_stage | L'étape actuelle du chargement (loading , downloading ) |
Events.Subscribe("UpdateScreen", function(message, message_secondary, progress_small, progress_small_total, progress, progress_total, current_stage) {
// Mettre à jour l'HTML ici
});
You can use progress
and progress_total
for filling up the main loading bar, and progress_small
for a small/sub loading bar.
Toujours utiliser progress / progress_total
pour récupérer le pourcentage %
actuel, car progress_total représente le nombre total de fichiers en cours de téléchargement.
Informations sur le joueur
Aussi, il est possible de récupérer les informations d'un joueur en accédant à une variable globale nommée LoadingScreen:
var LoadingScreen = {
server_ip,
server_name,
server_description,
server_port,
player_nanos_id,
player_nanos_username
};
Arrêter la musique du menu
Il est possible de désactiver la musique du menu intégré en appelant un événement à partir du JS de l'écran de chargement:
Events.Call("StopMenuMusic")
Configurer votre serveur pour utiliser l'écran de chargement
Après avoir crée votre package loading-screen, vous devrez configurer votre serveur pour le charger dans votre Config.toml. Dans loading_screen
, mettez simplement le nom du dossier de votre Package.
# le package loading-screen à charger (l'écran de chargement sera affiché quand les joueurs rejoindront votre serveur)
loading_screen = "my-loading-screen"
Or start it with --loading_screen "my-loading-screen"
.