public void ShowLogWindow() { // Show the log window logWindowCanvasGroup.interactable = true; logWindowCanvasGroup.blocksRaycasts = true; logWindowCanvasGroup.alpha = 1f; popupManager.Hide(); // Update the recycled list view // (in case new entries were intercepted while log window was hidden) recycledListView.OnLogEntriesUpdated(true); }
public void ShowLogWindow() { // Show the log window logWindowCanvasGroup.interactable = true; logWindowCanvasGroup.blocksRaycasts = true; logWindowCanvasGroup.alpha = 1f; if (!string.IsNullOrEmpty(commandInputField.text) && commandInputField.text[commandInputField.text.Length - 1] == '`') { commandInputField.text = commandInputField.text.GetFirst(commandInputField.text.Length - 1); } commandInputField.ActivateInputField(); popupManager.Hide(); // Update the recycled list view // (in case new entries were intercepted while log window was hidden) recycledListView.OnLogEntriesUpdated(true); isLogWindowVisible = true; }
// A debug entry is received void ReceivedLog(string logString, string stackTrace, LogType logType) { DebugLogEntry logEntry = new DebugLogEntry(logString, stackTrace, null); // Check if this entry is a duplicate (i.e. has been received before) int logEntryIndex = collapsedLogEntries.IndexOf(logEntry); bool isEntryInCollapsedEntryList = logEntryIndex != -1; if (!isEntryInCollapsedEntryList) { // It is not a duplicate, // add it to the list of unique debug entries logEntry.logTypeSpriteRepresentation = logSpriteRepresentations[logType]; collapsedLogEntries.Add(logEntry); logEntryIndex = collapsedLogEntries.Count - 1; } else { // It is a duplicate, // increment the original debug item's collapsed count logEntry = collapsedLogEntries[logEntryIndex]; logEntry.count++; } // Add the index of the unique debug entry to the list // that stores the order the debug entries are received uncollapsedLogEntriesIndices.Add(logEntryIndex); // If this debug entry matches the current filters, // add it to the list of debug entries to show if (ShouldAddEntryToFilteredEntries(logEntry.logTypeSpriteRepresentation, isEntryInCollapsedEntryList)) { indicesOfListEntriesToShow.Add(logEntryIndex); } if (logType == LogType.Log) { infoEntryCount++; infoEntryCountText.text = "" + infoEntryCount; // If debug popup is visible, notify it of the new debug entry if (!isLogWindowVisible) { popupManager.NewInfoLogArrived(); } } else if (logType == LogType.Warning) { warningEntryCount++; warningEntryCountText.text = "" + warningEntryCount; // If debug popup is visible, notify it of the new debug entry if (!isLogWindowVisible) { popupManager.NewWarningLogArrived(); } } else { errorEntryCount++; errorEntryCountText.text = "" + errorEntryCount; // If debug popup is visible, notify it of the new debug entry if (!isLogWindowVisible) { popupManager.NewErrorLogArrived(); } } // If log window is visible, update the recycled list view if (isLogWindowVisible) { recycledListView.OnLogEntriesUpdated(); } }
// A debug entry is received private void ReceivedLog(string logString, string stackTrace, LogType logType) { DebugLogEntry logEntry = new DebugLogEntry(logString, stackTrace, null); // Check if this entry is a duplicate (i.e. has been received before) int logEntryIndex; bool isEntryInCollapsedEntryList = collapsedLogEntriesMap.TryGetValue(logEntry, out logEntryIndex); if (!isEntryInCollapsedEntryList) { // It is not a duplicate, // add it to the list of unique debug entries logEntry.logTypeSpriteRepresentation = logSpriteRepresentations[logType]; logEntryIndex = collapsedLogEntries.Count; collapsedLogEntries.Add(logEntry); collapsedLogEntriesMap[logEntry] = logEntryIndex; } else { // It is a duplicate, // increment the original debug item's collapsed count logEntry = collapsedLogEntries[logEntryIndex]; logEntry.count++; } // Add the index of the unique debug entry to the list // that stores the order the debug entries are received uncollapsedLogEntriesIndices.Add(logEntryIndex); // If this debug entry matches the current filters, // add it to the list of debug entries to show Sprite logTypeSpriteRepresentation = logEntry.logTypeSpriteRepresentation; if (isCollapseOn && isEntryInCollapsedEntryList) { if (isLogWindowVisible) { recycledListView.OnCollapsedLogEntryAtIndexUpdated(logEntryIndex); } } else if (logFilter == DebugLogFilter.All || (logTypeSpriteRepresentation == infoLog && ((logFilter & DebugLogFilter.Info) == DebugLogFilter.Info)) || (logTypeSpriteRepresentation == warningLog && ((logFilter & DebugLogFilter.Warning) == DebugLogFilter.Warning)) || (logTypeSpriteRepresentation == errorLog && ((logFilter & DebugLogFilter.Error) == DebugLogFilter.Error))) { indicesOfListEntriesToShow.Add(logEntryIndex); if (isLogWindowVisible) { recycledListView.OnLogEntriesUpdated(false); } } if (logType == LogType.Log) { infoEntryCount++; infoEntryCountText.text = infoEntryCount.ToString(); // If debug popup is visible, notify it of the new debug entry if (!isLogWindowVisible) { popupManager.NewInfoLogArrived(); } } else if (logType == LogType.Warning) { warningEntryCount++; warningEntryCountText.text = warningEntryCount.ToString(); // If debug popup is visible, notify it of the new debug entry if (!isLogWindowVisible) { popupManager.NewWarningLogArrived(); } } else { errorEntryCount++; errorEntryCountText.text = errorEntryCount.ToString(); // If debug popup is visible, notify it of the new debug entry if (!isLogWindowVisible) { popupManager.NewErrorLogArrived(); } } }