public async Task <Demo> GetDemoHeaderAsync(string demoFilePath) { Demo demo = await Task.Run(() => DemoAnalyzer.ParseDemoHeader(demoFilePath)); if (demo != null) { // Update the demo name and path because it may be renamed / moved demo.Name = Path.GetFileName(demoFilePath); demo.Path = demoFilePath; } return(demo); }
public async Task <Demo> AnalyzeDemo(Demo demo) { if (!File.Exists(demo.Path)) { // Demo may be moved to an other folder, just clear cache await _cacheService.RemoveDemo(demo); } DemoAnalyzer analyzer = DemoAnalyzer.Factory(demo); demo = await analyzer.AnalyzeDemoAsync(); return(demo); }
public async Task <Demo> AnalyzeDemo(Demo demo, CancellationToken token, Action <string, float> progressCallback = null) { if (!File.Exists(demo.Path)) { // Demo may be moved to an other folder, just clear cache await _cacheService.RemoveDemo(demo.Id); } DemoAnalyzer analyzer = DemoAnalyzer.Factory(demo); demo = await analyzer.AnalyzeDemoAsync(token, progressCallback); return(demo); }
public async Task <Demo> AnalyzePlayersPosition(Demo demo) { if (!File.Exists(demo.Path)) { // Demo may be moved to an other folder, just clear cache await _cacheService.RemoveDemo(demo); } DemoAnalyzer analyzer = DemoAnalyzer.Factory(demo); analyzer.AnalyzePlayersPosition = true; demo = await analyzer.AnalyzeDemoAsync(); await _cacheService.WriteDemoDataCache(demo); return(demo); }
public static bool SetHardware(Hardware hardware, ref ISwitch iswitch, ref VirtualVNA.NetworkAnalyzer.NetworkAnalyzer iNetworkAnalyzer, ref string msg, Func <DialogResult> blockedMsg) { try { switch (hardware.SwitchBox) { case SwitchBox.MCU: iswitch = new SwitchMcu(hardware.VisaSwitchBox, hardware.SwitchResponseTime); break; case SwitchBox.Demo: iswitch = new SwitchDemo(); break; case SwitchBox.Manual: iswitch = new SwitchManual(blockedMsg); break; } switch (hardware.AnalyzerType) { case NetworkAnalyzerType.Demo: iNetworkAnalyzer = new DemoAnalyzer(iswitch, hardware.VisaNetWorkAnalyzer, hardware.AnalyzerResponseTime); break; case NetworkAnalyzerType.N5224A: iNetworkAnalyzer = new N5224A(iswitch, hardware.VisaNetWorkAnalyzer, hardware.AnalyzerResponseTime); break; } return(true); } catch (Exception e) { msg = e.Message; return(false); } }
private async Task <Demo> GetDemoHeaderAsync(string demoFilePath) { var demo = await Task.Run(() => DemoAnalyzer.ParseDemoHeader(demoFilePath)); if (demo == null) { return(null); } // If demo is in cache we retrieve its data bool demosIsCached = _cacheService.HasDemoInCache(demo); if (demosIsCached) { demo = await _cacheService.GetDemoDataFromCache(demo); demo.Source = Source.Factory(demo.SourceName); // Update the demo name and path because it may be renamed / moved demo.Name = Path.GetFileName(demoFilePath); demo.Path = demoFilePath; } return(demo); }