public IMapSearchResult FindBeatmap(IMapSearchArgs searchArgs, CancellationToken cancellationToken) { if (!Started) { return(null); } if (searchArgs == null) { throw new ArgumentException(nameof(searchArgs)); } var result = new MapSearchResult(searchArgs); if (!Started || !_settings.Get <bool>(_names.EnableMemoryScanner)) { return(result); } var mods = ReadMods(searchArgs); result.Mods = GetModsEx(mods); Logger?.Log($">Got mods from memory: {result.Mods.ShownMods}({mods})", LogLevel.Debug); Mods eMods = result.Mods?.Mods ?? Mods.Omod; if (Helpers.IsInvalidCombination(eMods)) { Logger?.Log("Sanity check tiggered - invalidating last result", LogLevel.Debug); result.Mods = null; } return(result); }
public async Task CreateTokensAsync(IMapSearchResult mapSearchResult, CancellationToken cancellationToken) { if (IsMainProcessor) { SetSkinTokens(); } if (mapSearchResult.SearchArgs.EventType != OsuEventType.MapChange) { return; } _mods = mapSearchResult.Mods?.Mods ?? Mods.Omod; _playMode = mapSearchResult.PlayMode ?? PlayMode.Osu; if (!IsMainProcessor) { return; } _strainsToken.Value = (await mapSearchResult.GetPpCalculator(cancellationToken))?.CalculateStrains(cancellationToken, _settings.Get <int?>(StrainsAmount)); }
public async Task CreateTokensAsync(IMapSearchResult mapSearchResult, CancellationToken cancellationToken) { if (IsMainProcessor) { SetSkinTokens(); } if (mapSearchResult.SearchArgs.EventType != OsuEventType.MapChange) { return; } _mods = mapSearchResult.Mods?.Mods ?? Mods.Omod; _playMode = mapSearchResult.PlayMode ?? PlayMode.Osu; if (!IsMainProcessor) { return; } _beatmapRankedStatusToken.Value = OsuMemoryData.Beatmap.Status; var ppCalculator = await mapSearchResult.GetPpCalculator(cancellationToken); _firstHitObjectTimeToken.Value = ppCalculator?.FirstHitObjectTime(); _MapBreaksToken.Value = ppCalculator?.Breaks().ToList(); var mapTimingPoints = ppCalculator?.TimingPoints().ToList(); _MapTimingPointsToken.Value = mapTimingPoints; if (mapTimingPoints == null) { _reversedMapTimingPoints = new List <TimingPoint>(); } else { mapTimingPoints = mapTimingPoints.ToList(); mapTimingPoints.Reverse(); _reversedMapTimingPoints = mapTimingPoints; } _strainsToken.Value = ppCalculator?.CalculateStrains(cancellationToken, _settings.Get <int?>(StrainsAmount)); }