public DisplayerController(OsuListenerManager mamger) { var listenerManager = mamger; listenerManager.OnCount300Changed += c => _n300 = c; listenerManager.OnCountGekiChanged += c => _ngeki = c; listenerManager.OnCountKatuChanged += c => _nkatu = c; listenerManager.OnCount100Changed += c => _n100 = c; listenerManager.OnCount50Changed += c => _n50 = c; listenerManager.OnCountMissChanged += c => _nmiss = c; listenerManager.OnScoreChanged += s => _score = s; listenerManager.OnErrorStatisticsChanged += es => _error_statistics = es; listenerManager.OnPlayerChanged += p => _playername = p; listenerManager.OnComboChanged += (combo) => { if (_status != OsuStatus.Playing) { return; } int fullCombo = GetFullCombo(GetCalculator(_mode)); if (combo <= (fullCombo == 0 ? 20000 : fullCombo)) { _combo = combo; _maxCombo = Math.Max(_maxCombo, _combo); } }; listenerManager.OnModsChanged += (mods) => { if (Setting.IgnoreTouchScreenDecrease) { mods.Mod = (mods.Mod & ~ModsInfo.Mods.TouchDevice); } _curMods = mods; if (_status != OsuStatus.Playing) { GetCalculator(_mode).ClearCache(); } }; listenerManager.OnPlayModeChanged += RtppOnPlayModeChanged; listenerManager.OnStatusChanged += RtppOnStatusChanged; listenerManager.OnBeatmapChanged += RtppOnBeatmapChanged; listenerManager.OnPlayingTimeChanged += RtppOnPlayingTimeChanged; }
private void ListenerManager_OnErrorStatisticsChanged(ErrorStatisticsResult result) { current_ur = result.UnstableRate; }