NodeWorld

Écrire du FL# dans ton IDE

Depuis SDK 0.2.1

Unity ne compile pas les scripts FL#, donc il n'écrit pas de projet d'IDE pour leur dossier. Le SDK en écrit un : chaque fois que Unity écrit la solution de ton projet, le SDK ajoute un projet par dossier de scripts FL# (Taverne.Flux.csproj pour Taverne.Flux.asmdef). Il compile les scripts du dossier comme fluxc (C# 14, sans la bibliothèque standard de .NET) avec les deux bibliothèques du SDK, Flux.CoreLib et NodeWorld.Flux. Ton IDE connaît alors l'API FL# : la saisie semi-automatique (IntelliSense dans Visual Studio), la description de chaque type et de chaque membre, et les mêmes erreurs que fluxc.

Le régler

  1. Dans Unity, ouvre Edit, Preferences, External Tools et choisis ton éditeur dans External Script Editor : Visual Studio ou JetBrains Rider (leurs paquets Unity écrivent la solution).
  2. Clique sur Regenerate project files.
  3. Ouvre un script du dossier FL# depuis Unity (double-clic dans la fenêtre Project) : l'IDE ouvre la solution, et le projet du dossier y est (dans Visual Studio, dans l'Explorateur de solutions).

Le SDK réécrit les projets chaque fois que Unity écrit la solution : quand tu ajoutes un script ou que tu crées un dossier avec Create, NodeWorld, FL# Scripts Folder.

Ce que voit l'IDE

  • using NodeWorld.Flux; apporte l'API du monde (GameObject, Transform, Networking, Players…), et la bibliothèque C# est celle de FL# : System.Collections.Generic, LINQ, async, System.Threading, HttpClient… Les mêmes noms que ceux de Unity et de .NET quand ils font la même chose.
  • UnityEngine n'y existe pas : un script qui s'en sert ne compilerait pas non plus avec fluxc.
  • L'IDE ne construit pas le monde : le World Publisher et le Play mode le compilent avec fluxc (ton premier script).

Chaque type et chaque membre est aussi dans la référence de l'API FL#.