public MemoryListener(ISettings settings, ISaver saver, IContextAwareLogger logger) { _settings = settings; _settings.SettingUpdated += SettingUpdated; _memoryDataProcessor = new MemoryDataProcessor(settings, logger); _patternsDispatcher = new PatternsDispatcher(settings, saver); _memoryDataProcessor.TokensUpdated += (_, status) => _patternsDispatcher.TokensUpdated(status); _memoryDataProcessor.ToggleSmoothing(_settings.Get <bool>(Helpers.EnablePpSmoothing)); }
public MemoryListener(ISettings settings, ISaver saver, IContextAwareLogger logger, int clientCount = 1) { _settings = settings; _settings.SettingUpdated += SettingUpdated; var tournamentMode = clientCount > 1; var mainClientId = tournamentMode ? _settings.Get <int>(OsuMemoryEventSourceBase.DataClientId) : 0; _memoryDataProcessors = Enumerable.Range(0, clientCount) .Select(x => new MemoryDataProcessor(settings, logger, x == mainClientId, tournamentMode ? $"client_{x}_" : string.Empty)).ToList(); _patternsDispatcher = new PatternsDispatcher(settings, saver); var mainProcessor = _memoryDataProcessors.First(p => p.IsMainProcessor); mainProcessor.TokensUpdated += (sender, status) => _patternsDispatcher.TokensUpdated(status); foreach (var memoryDataProcessor in _memoryDataProcessors) { memoryDataProcessor.ToggleSmoothing(_settings.Get <bool>(Helpers.EnablePpSmoothing)); } }
public MemoryListener() { _memoryDataProcessor = new MemoryDataProcessor(); _patternsDispatcher = new PatternsDispatcher(); _memoryDataProcessor.TokensUpdated += (_, status) => _patternsDispatcher.TokensUpdated(status); }