SimConnect に接続して操作するためのシンプルなライブラリ。フライト シミュレーター (FS2020 など) との通信を可能にするライブラリです。
このライブラリの目的は、SimConnect に関する深い知識がなくても .NET/C# 経由で FS2020 を操作できるシンプルなインターフェイスを提供することです。一方、基本的な操作のみがサポートされています。このライブラリは、オリジナルの SimConnect ライブラリの可能性をすべてカバーしているわけではありません。
このライブラリには、Windows .NET Core 6.0 ランタイムがインストールされている必要があります (デフォルトで Windows 10 以降のインストールに含まれています)。
必要なリリースをターゲット プロジェクトの実行フォルダーに解凍し、ESimConnect.dll とその他の提供されたライブラリをプロジェクトにリンクするだけです。注: 機能するには、ファイルSimConnect.dll
もプロジェクトの出力ディレクトリに含まれている必要があります。このファイルは .NET プロジェクトでは参照されませんが、ライブラリを使用するためにロードするには存在する必要があります。
簡単なサンプル アプリケーションESimConnectDemoがプロジェクトで利用可能です。
FS2020 を実行している場合は、 ESimConnectDemo.exe
を起動します。ウィンドウで、 Connect/Disconnect
ボタンを選択します。 SimVars
タブで、SimVar 名を入力し、 Add
を押します。 SimVar の値がウィンドウにすぐに表示されるはずです。
注: 特定の SimVar 名については、FS202 SimVar のドキュメントを参照してください。最初に、 PLANE ALTITUDE
SimVar を入力してみてください。
ESimConnect.dll
と、 DLLs
フォルダーのSimConnect.dll
を除くすべてのアセンブリへの参照を追加します。ただし、ファイルSimConnect.dll
出力フォルダーに存在する必要があります。存在しないと、起動時にエラーが発生します。単純な SimVar の読み出し (例: PLANE ALTITUDE
) の場合、以下を行う必要があります。
// create ESimConnect instance
ESimConnect.ESimConnect eSimCon = new();
// register as a listener for incoming data messages
eSimCon.DataReceived += ESimCon_DataReceived; // see below for the definition
// open a connection to FS2020
eSimCon.Open();
// register a SimVar - tell FS2020 that you are interested in this SimVar
var typeId = eSimCon.Values.Register<double>("PLANE ALTITUDE");
// and request the value once
RequestId requestId = eSimCon.Values.Request(typeId);
// or request value repeatedly every second, only when value has changed
RequestId repeatedRequestId = eSimCon.Values.RequestRepeatedly(typeId, SimConnectPeriod.SECOND, true);
// now you are ready
// once some data has arrived, the following handler is invoked:
private static void ESimCon_DataReceived(ESimConnect.ESimConnect sender, ESimConnect.ESimConnect.ESimConnectDataReceivedEventArgs e)
{
Console.WriteLine($"ESimCon - DataReceived - requestId={e.RequestId}, simVar={relatedSimVar}, type={e.Type}, data={e.Data}");
}
詳細については、ESimConnectDemo または ESimConnectTest プロジェクトを参照してください。
何かがうまくいかない場合は、問題として遠慮なく報告してください。できるだけ詳細をお知らせください。
(まだ何もありません)
LICENSE ファイルを参照してください。
最初の動機と研究源となってくれた RandFailuresFS2020 のオリジナル リポジトリに感謝します。
登録解除の問題の解決に協力してくれた George Barlow に感謝します。
マレク・ヴァイグル https://github.com/Engin1980/ESimConnect