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); }