public void UpdateFilteredLog() { // Dirty fix: I don't want the this function is called when initializing // Setting value for Toggle triggers the OnValueChanged method if (!LogFilter.Instance.enabled) { return; } _filterLogInfos.Clear(); LogFilter.Instance.ClearLogHashes(); foreach (var logInfo in LogReceiver.LogInfos) { LogFilter.Result result = LogFilter.Instance.FilterLog(logInfo); if (result.isPassFilter) { _filterLogInfos.Add(logInfo); } } bool isScrollViewAtBottom = _scrollView.IsViewAtBottom(); _scrollView.ReloadData(); if (isScrollViewAtBottom) { _scrollView.MoveViewToBottom(); } }
void AddLogBeforeSceneLoaded() { foreach (var logInfo in LogReceiver.LogInfos) { LogFilter.Result result = LogFilter.Instance.FilterLog(logInfo); if (result.isPassFilter) { _filterLogInfos.Add(logInfo); } IncreaseLogNumber(logInfo); } _scrollView.ReloadData(); _scrollView.MoveViewToBottom(); }
void OnLogReceived(LogInfo logInfo) { LogFilter.Result result = LogFilter.Instance.FilterLog(logInfo); if (result.isPassFilter) { bool isScrollViewAtBottom = _scrollView.IsViewAtBottom(); _filterLogInfos.Add(logInfo); _scrollView.AddCell(); if (isScrollViewAtBottom) { _scrollView.MoveViewToBottom(); } } else if (result.hasCollapsedInstance) { UpdateActiveCell(result.collapsedLogInfo.hash); } IncreaseLogNumber(logInfo); UpdateLogTexts(); }