Diese Seite ist aus dem Englischen übersetzt. Wenn die beiden voneinander abweichen, ist die englische Seite maßgeblich. Englische Seite lesen
Godot bietet zwei Sprachen, und Lingara hat für jede ein Kit. Ein GDScript-Spiel verwendet das Lingara-Addon. Ein Godot-C#-Spiel verwendet Lingara.Embed, dasselbe Paket, das ein Unity-Spiel verwendet. Verwenden Sie in einem Projekt das eine oder das andere, nie beide. Die Tabs unten zeigen jedes.
Installation
GDScript. Installieren Sie das Lingara-Addon aus der Godot Asset Library und aktivieren Sie es dann unter Project Settings, Plugins. Beim Aktivieren wird ein Autoload namens Lingara hinzugefügt, den jede Szene unter /root/Lingara erreicht.
C#. Fügen Sie Lingara.Embed Ihrem Projekt als Paketreferenz hinzu. Der Beispielknoten unten, LingaraEmbedNode, ist nicht Teil des Pakets: Fügen Sie seinen Quellcode zu Ihrem Projekt hinzu und setzen Sie ihn in eine Szene.
Tokens von Ihrem Server erhalten
Keines der beiden Kits hält ein Secret. Wenn der Kern ein Token braucht, fragt er Ihren eigenen Server, der mit einem Server-Kit eines ausstellt und mit dem Token und seinem Ablaufzeitpunkt antwortet.
Beim Addon legen Sie die Token-Route Ihres Servers unter Project Settings fest, und Lingara ruft sie in einem eigenen Thread auf. Braucht die Route die Sitzung des Spielers, setzen Sie sie stattdessen zur Laufzeit, denn Projekteinstellungen werden mit Ihrem Export ausgeliefert. Oder Sie verbinden token_needed und beantworten jede Anfrage selbst. Bei C# sendet der Beispielknoten immer dann einen POST an Ihre Token-Route, wenn der Client ein Token anfordert. In beiden Fällen melden Sie einen Fehlschlag mit token_unavailable oder TokenUnavailable, damit die wartenden Aufrufe sofort fehlschlagen.
Events in jedem Frame verarbeiten
Der Kern führt seine Netzwerk-I/O in einem eigenen Thread aus. Der Autoload des Addons leert sie einmal pro Frame und sendet pro Event ein Signal, sodass Sie die Signale verbinden, die Ihr Spiel braucht, und selbst nie etwas leeren. Der C#-Knoten leert in _process, höchstens 256 Events pro Frame, und sendet jedes erneut als Godot-Signal.