Programando em C#

Esta página foi traduzida automaticamente e pode conter erros. Encontrou um problema? Use o link "Edit this page" para ajudar a corrigir.

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 compile faz o mesmo sem interface.
  • Exportar (turian-cli export ou Project → Export) compila os scripts junto com o motor em modo Release e publica um executável autocontido de arquivo único com dotnet 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 é null até o componente ser anexado; use Node! 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.cs com linhas global using para 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, um ILogger padrão de Microsoft.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.


← Toda a documentação Editar esta página