Cette page est traduite de l'anglais. En cas de différence, la page anglaise fait foi. Lire la page en anglais
Godot propose deux langages, et Lingara a un kit pour chacun. Un jeu en GDScript utilise l’addon Lingara. Un jeu Godot en C# utilise Lingara.Embed, le même paquet qu’utilise un jeu Unity. Utilisez l’un ou l’autre dans un projet, jamais les deux. Les onglets ci-dessous montrent chacun d’eux.
Installation
GDScript. Installez l’addon Lingara depuis la Godot Asset Library, puis activez-le dans Project Settings, Plugins. Son activation ajoute un autoload nommé Lingara, que chaque scène atteint à /root/Lingara.
C#. Ajoutez Lingara.Embed à votre projet comme référence de paquet. Le nœud d’exemple ci-dessous, LingaraEmbedNode, ne fait pas partie du paquet : ajoutez son code source à votre projet et placez-le dans une scène.
Obtenir des jetons depuis votre serveur
Aucun des deux kits ne détient de secret. Lorsque le cœur a besoin d’un jeton, il le demande à votre propre serveur, qui en émet un avec un kit serveur et répond avec le jeton et son expiration.
Avec l’addon, définissez la route de jetons de votre serveur dans Project Settings et Lingara l’appelle sur son propre thread. Si la route a besoin de la session du joueur, définissez-la plutôt à l’exécution, car les paramètres du projet sont livrés dans votre export. Ou bien connectez token_needed et répondez vous-même à chaque demande. En C#, le nœud d’exemple envoie une requête à votre route de jetons chaque fois que le client demande un jeton. Dans les deux cas, signalez un échec avec token_unavailable ou TokenUnavailable, afin que les appels en attente échouent immédiatement.
Traiter les événements à chaque frame
Le cœur exécute ses E/S réseau sur son propre thread. L’autoload de l’addon le vide une fois par frame et émet un signal par événement : vous connectez donc les signaux dont votre jeu a besoin et ne videz jamais rien vous-même. Le nœud C# vide la file dans _process, au plus 256 événements par frame, et réémet chacun sous forme de signal Godot.