public void Start() { MessageHub.Instance.Subscribe <ReadyMessage>(ReadyToSend); MessageHub.Instance.Subscribe <DisconnectedMessage>(Disconnected); gameState = new DCSPlayerRadioInfo(); gameState.radios[1].modulation = modulation[0]; gameState.radios[1].freq = freq[0]; // get into Hz gameState.radios[1].name = name; Logger.Info($"Starting with params:"); Logger.Info($"Path or Text to Say: {mp3Path} "); for (int i = 0; i < freq.Length; i++) { Logger.Info($"Frequency: {freq[i]} Hz - {modulation[i]} "); } Logger.Info($"Coalition: {coalition} "); Logger.Info($"IP: 127.0.0.1 "); Logger.Info($"Port: {port} "); Logger.Info($"Client Name: {name} "); Logger.Info($"Volume: {volume} "); var srsClientSyncHandler = new SRSClientSyncHandler(Guid, gameState, name, coalition); srsClientSyncHandler.TryConnect(new IPEndPoint(IPAddress.Loopback, port)); //wait for it to end finished.Token.WaitHandle.WaitOne(); Logger.Info("Finished - Closing"); udpVoiceHandler?.RequestStop(); srsClientSyncHandler?.Disconnect(); MessageHub.Instance.ClearSubscriptions(); }
public void Start() { MessageHub.Instance.Subscribe <ReadyMessage>(ReadyToSend); MessageHub.Instance.Subscribe <DisconnectedMessage>(Disconnected); gameState = new DCSPlayerRadioInfo(); gameState.radios[1].modulation = modulation[0]; gameState.radios[1].freq = freq[0]; // get into Hz gameState.radios[1].name = opts.Name; Logger.Info($"Starting with params:"); for (int i = 0; i < freq.Length; i++) { Logger.Info($"Frequency: {freq[i]} Hz - {modulation[i]} "); } DCSLatLngPosition position = new DCSLatLngPosition() { alt = opts.Altitude, lat = opts.Latitude, lng = opts.Longitude }; var srsClientSyncHandler = new SRSClientSyncHandler(Guid, gameState, opts.Name, opts.Coalition, position); srsClientSyncHandler.TryConnect(new IPEndPoint(IPAddress.Loopback, opts.Port)); //wait for it to end finished.Token.WaitHandle.WaitOne(); Logger.Info("Finished - Closing"); udpVoiceHandler?.RequestStop(); srsClientSyncHandler?.Disconnect(); MessageHub.Instance.ClearSubscriptions(); }