示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }