Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        // 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();
                }
            }
        }