C# でのプログラミング
このページは自動翻訳されており、誤りが含まれる場合があります。誤りを見つけた場合は「このページを編集」リンクからご協力ください。
Turian は .NET 10 上の C# で書かれており、ゲームのスクリプトも C# です。エンジンと同じ言語で、学ぶべきバインディングやスクリプト方言はありません。Unity を知っていれば、ほとんどが馴染みのある形です。Component を継承したクラス、OnStart や OnUpdate などのオーバーライドするコールバック、そして Inspector に表示される public フィールド。
コードエディター
どの C# エディターでも使えます。補完、ナビゲーション、エラー表示のために、Turian がスクリプト用に生成するプロジェクトファイルを開きます:
<プロジェクト>/.Cache/Source/<プロジェクト名>.csproj
Assets/**/*.cs とエンジンのアセンブリを参照しており、Turian がコンパイルするたびに再生成されます。
| エディター | 設定 |
|---|---|
| Visual Studio Code | C# Dev Kit をインストールし、生成された .csproj を開きます。 |
| JetBrains Rider | 生成された .csproj を開きます。 |
| Visual Studio | 生成された .csproj を開きます(Windows)。 |
| Zed、Neovim、Helix | csharp-ls または Roslyn LSP を使う LSP クライアントを、生成された .csproj に向けます。 |
Turian Studio 自体はコードを編集しません。Assets パネルでスクリプトをダブルクリックすると、デスクトップが .cs ファイルに関連付けているプログラムで開きます。
コードのビルド方法
- Studio では、スクリプトを保存すると Roslyn によるバックグラウンドコンパイルが始まります。新しいアセンブリはエディターを再起動せずに読み込まれ、エラーは Output パネルに表示されます。
turian-cli compileは同じことをヘッドレスで行います。- エクスポート(
turian-cli exportまたは Project → Export)は、スクリプトをエンジンと一緒に Release モードでビルドし、dotnet publishで自己完結型の単一ファイル実行形式を出力します。
Turian は通常の .NET SDK を使うので、スクリプトでは .NET 10 がサポートする C# のあらゆる機能と基本クラスライブラリ全体を使えます。
規約
- スクリプトは
Assets/内のどこに置いてもかまいません。1 ファイルに 1 つのコンポーネントクラスを、ファイル名と同じ名前で。 - 新規プロジェクトの既定の名前空間は
Usercodeですが、どの名前空間でも動作します。 - null 許容参照型が有効です。
Nodeはコンポーネントがアタッチされるまでnullなので、常に設定されているライフサイクルのコールバック内ではNode!を使います。 - 暗黙の using は無効です。新規プロジェクトには
Assets/Globals.csがあり、エンジン(Turian.Engine.Core、Turian.Engine.UI)、属性(Turian)、System、System.IO、System.Linq、System.Numerics、ログ、Silk.NET の入力キーコードのglobal using行が入っています。独自のものもそこに追加してください。 - ログは標準の
Microsoft.Extensions.LoggingのILoggerであるLog.Loggerで出力します。
数学型
Turian は System.Numerics — Vector2、Vector3、Vector4、Quaternion、Matrix4x4 — を使い、これらは .NET によって SIMD で高速化されます。Mathf は Mathf.Forward、Mathf.Up、Mathf.DegreesToRadians などのヘルパーと定数を追加します。