/// <summary> /// See interface docs. /// </summary> /// <param name="settings"></param> public void Connect(XPlaneSettings settings) { if (_SharedConfig == null) { _SharedConfig = Factory.ResolveSingleton <ISharedConfiguration>(); } if (_XplaneUdp != null) { Disconnect(); } var xplaneUdp = Factory.Resolve <IXPlaneUdp>(); xplaneUdp.Initialise( settings.Host, settings.XPlanePort, settings.ReplyPort ); xplaneUdp.SendRPOS(1); xplaneUdp.StartListener(); _XplaneUdp = xplaneUdp; _XplaneUdp.RposReplyReceived += XPlaneUdp_RposReplyReceived; }
/// <summary> /// See interface docs. /// </summary> public void Disconnect() { if (_XplaneUdp != null) { _XplaneUdp.RposReplyReceived -= XPlaneUdp_RposReplyReceived; try { _XplaneUdp.Dispose(); } catch { } _XplaneUdp = null; } }