LoaderManager - Loading-Screens in Unity umsetzen
Der LoaderManager ist ein Service, der verwendet werden kann, um Ladeszenen für verschiedene Zwecke zu erstellen. Egal, ob du einen Ladebildschirm zur Vorbereitung deines Spiels benötigst oder Ladeszenen zwischen verschiedenen Szenen einsetzen möchtest, der LoaderManager steht dir zur Verfügung. Besonders praktisch wird er, wenn mehrere Services gleichzeitig im Hintergrund laden, die im folgenden als Threads bezeichnet werden.
Wie Du den LoaderManager nutzen kannst
Zunächst einmal kannst Du den LoaderManager nutzen, um alle Prozesse zu registrieren, für die für das Laden der nächsten Szene notwendig sind.
LoaderManager.service?.Add("audioFiles");
LoaderManager.service?.Add("configuration");
LoaderManager.service?.Add("gameData");
Du kannst auch einen einzelnen Prozess wieder aus dem Manager entfernen:
LoaderManager.service?.Remove("audioFiles");
Der Fortschritt des jeweiligen Prozesses muss von Dir aktualisiert werden:
LoaderManager.service?.SetProgress("configuration", 0.8f);
LoaderManager.service?.SetProgress("gameData", 0.2f);
Du kannst den Fortschritt von jedem einzelnen Prozess abrufen:
var progress = LoaderManager.service?.GetProgress("configuration");
Und natürlich den Gesamtfortschritt des Ladevorgangs:
var totalProgress = LoaderManager.service?.progress;
Um einen Prozess als "fertig" zu markieren, kann Du diese Methode verwenden:
LoaderManager.service?.Complete("configuration");
Das ist im Grunde genommen das Gleiche wie dieser Aufruf:
LoaderManager.service?.SetProgress("configuration", 1f);
Schließlich kannst Du den LoaderManager auch wieder zurück setzen:
LoaderManager.service?.Clear();
Dein Feedback ist wichtig!
Was hältst Du von den hier vorgestellten Services? Fehlt Dir etwas oder funktioniert etwas nicht wie erwartet? Wie immer freue ich mich über Feedback. Lass mich gerne wissen was Du über dieses Modul denkst. Dafür kannst Du zum Beispiel die Kommentarfunktion unter dem Artikel nutzen. Weitere Kontakt-Möglichkeiten findest Du auf hier. Wenn Du einen Bug gefunden hast oder Dir eine Erweiterung wünscht, erstelle bitte einen Issue im GitHub-Repository. Weitere Dokumentation findest Du wie immer in der README des entsprechenden Moduls.
Noch keine Kommentare vorhanden.