Programando em C#
O Turian é escrito em C# no .NET 10, e os scripts do seu jogo também são C# — a mesma linguagem do motor, sem bindings nem dialeto de script para aprender. Se você conhece a Unity, a maior parte parecerá familiar: uma classe que herda de Component, callbacks sobrescritos como OnStart e OnUpdate, e campos públicos exibidos no Inspector.
Editores de código
Qualquer editor de C# funciona. Para autocompletar, navegação e erros no editor, abra o arquivo de projeto que o Turian gera para os seus scripts:
<projeto>/.Cache/Source/<NomeDoProjeto>.csproj
Ele referencia os seus arquivos Assets/**/*.cs e os assemblies do motor, e é regenerado sempre que o Turian compila.
| Editor | Configuração |
|---|---|
| Visual Studio Code | Instale o C# Dev Kit e abra o .csproj gerado. |
| JetBrains Rider | Abra o .csproj gerado. |
| Visual Studio | Abra o .csproj gerado (Windows). |
| Zed, Neovim, Helix | Use um cliente LSP com csharp-ls ou o Roslyn LSP apontando para o .csproj gerado. |
O Turian Studio não edita código: um clique duplo em um script no painel Assets o abre no programa que o seu sistema associa a arquivos .cs.
Como o seu código é compilado
- No Studio, salvar um script dispara uma compilação em segundo plano com o Roslyn. O novo assembly é carregado sem reiniciar o editor, e os erros aparecem no painel Output.
turian-cli compilefaz o mesmo sem interface.- Exportar (
turian-cli exportou Project → Export) compila os scripts junto com o motor em modo Release e publica um executável autocontido de arquivo único comdotnet publish.
Como o Turian usa o SDK do .NET normal, seus scripts podem usar qualquer recurso de C# do .NET 10 e toda a biblioteca de classes base.
Convenções
- Coloque scripts em qualquer lugar de
Assets/; uma classe de componente por arquivo, com o nome do arquivo. - O namespace padrão de projetos novos é
Usercode; qualquer namespace funciona. - Tipos de referência anuláveis estão ativados.
Nodeénullaté o componente ser anexado; useNode!dentro dos callbacks de ciclo de vida, onde ele sempre está definido. - Os usings implícitos estão desativados. Projetos novos ganham um
Assets/Globals.cscom linhasglobal usingpara o motor (Turian.Engine.Core,Turian.Engine.UI), seus atributos (Turian),System,System.IO,System.Linq,System.Numerics, logging e os códigos de teclas de entrada do Silk.NET; adicione os seus ali. - Registre mensagens com
Log.Logger, umILoggerpadrão deMicrosoft.Extensions.Logging.
Tipos matemáticos
O Turian usa System.Numerics — Vector2, Vector3, Vector4, Quaternion e Matrix4x4 — acelerados por SIMD no .NET. Mathf acrescenta utilitários e constantes como Mathf.Forward, Mathf.Up e Mathf.DegreesToRadians.