public ConsoleEntry(ConsoleEntry other) { Message = other.Message; StackTrace = other.StackTrace; LogType = other.LogType; Count = other.Count; }
private void PopulateStackTraceArea(ConsoleEntry entry) { if (entry == null) { StackTraceText.text = ""; } else { var text = entry.Message + Environment.NewLine + (!string.IsNullOrEmpty(entry.StackTrace) ? entry.StackTrace : SRDebugStrings.Current.Console_NoStackTrace); if (text.Length > MaxLength) { text = text.Substring(0, MaxLength); text += "\n" + SRDebugStrings.Current.Console_MessageTruncated; } StackTraceText.text = text; } StackTraceScrollRect.normalizedPosition = new Vector2(0, 1); }
public void SetDataContext(object data) { var msg = data as ConsoleEntry; if (msg == null) { throw new Exception("Data should be a ConsoleEntry"); } // Always check for updates on "Count", as it can change if (msg.Count > 1) { if (!_hasCount) { CountContainer.alpha = 1f; _hasCount = true; } if (msg.Count != _count) { Count.text = Internal.SRDebuggerUtil.GetNumberString(msg.Count, 999, "999+"); _count = msg.Count; } } else if (_hasCount) { CountContainer.alpha = 0f; _hasCount = false; } // Only update everything else if data context has changed, not just for an update if (msg == _prevData) { return; } _prevData = msg; Message.text = msg.MessagePreview; StackTrace.text = msg.StackTracePreview; if (string.IsNullOrEmpty(StackTrace.text)) { Message.rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 2, _rectTransform.rect.height - 4); } else { Message.rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 12, _rectTransform.rect.height - 14); } switch (msg.LogType) { case LogType.Log: ImageStyle.StyleKey = ConsoleBlobInfo; break; case LogType.Warning: ImageStyle.StyleKey = ConsoleBlobWarning; break; case LogType.Exception: case LogType.Assert: case LogType.Error: ImageStyle.StyleKey = ConsoleBlobError; break; } }
public bool Matches(ConsoleEntry other) { if (ReferenceEquals(null, other)) { return false; } if (ReferenceEquals(this, other)) { return true; } return string.Equals(Message, other.Message) && string.Equals(StackTrace, other.StackTrace) && LogType == other.LogType; }