Flight Simulator(예: FS2020)와 통신할 수 있는 라이브러리인 SimConnect와 연결하고 작업하기 위한 간단한 라이브러리입니다.
이 라이브러리의 목적은 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
어셈블리와 SimConnect.dll
제외한 DLLs
폴더의 모든 어셈블리에 대한 참조를 추가합니다. 그러나 출력 폴더에 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 프로젝트에서 영감을 얻으세요.
문제가 해결되지 않으면 언제든지 문제로 보고해 주세요. 가능한 한 많은 세부정보를 제공해 주세요.
(아직 아무것도 없음)
라이센스 파일을 참조하세요.
초기 동기 부여 및 연구 소스가 된 RandFailuresFS2020 원본 저장소에 감사드립니다.
등록 취소 문제를 해결하는 데 도움을 준 George Barlow에게 감사드립니다.
마렉 바이글 https://github.com/Engin1980/ESimConnect