private void HandleLog(GameLogger.LogData data) { if (!logDestroyed && showLogTypes[(int)data.Type]) { AddLogItem(data); DeleteExcessLogs(); UpdateLogCount(); } }
private void SetCurrentActiveLogItem(GameObject logItem) { Image image = null; ClearCurrentActiveLogItem(); if (lastActiveLogItem != logItem) { lastActiveLogItem = logItem; image = lastActiveLogItem.transform.parent.gameObject.GetComponent <Image>(); image.overrideSprite = box_round_light; CustomData customData = lastActiveLogItem.transform.parent.gameObject.GetComponent <CustomData>(); GameLogger.LogData data = (GameLogger.LogData)customData.customData; DebugItemContent.text = data.Data + "\nStackTrace:\n" + data.StackTrace; } else { lastActiveLogItem = null; DebugItemContent.text = "Click a item to show details"; } }
private void AddLogItem(GameLogger.LogData data) { if (logDestroyed) { return; } GameObject newGo = GameCloneUtils.CloneNewObjectWithParent(UIDebugTextItem, DebugCmdContent.transform, "Text"); GameObject newT = newGo.transform.Find("Text").gameObject; Image newI = newGo.transform.Find("Image").gameObject.GetComponent <Image>(); Text newText = newT.GetComponent <Text>(); CustomData customData = newGo.GetComponent <CustomData>(); customData.customData = data; if (data.Data.Length > 32767)//字符过长Text无法显示 { data.Data = data.Data.Substring(0, 32766); } switch (data.Type) { case GameLogger.LogType.Text: newText.text = data.Data + " "; newI.sprite = ico_success; break; case GameLogger.LogType.Error: newText.text = "<color=#FF2400>" + data.Data + "</color> "; newI.sprite = ico_error; break; case GameLogger.LogType.Assert: newText.text = "<color=#FF0000>" + data.Data + "</color> "; newI.sprite = ico_error; break; case GameLogger.LogType.Info: newText.text = "<color=#70DBDB>" + data.Data + "</color> "; newI.sprite = ico_info; break; case GameLogger.LogType.Warning: newText.text = "<color=#FF7F00>" + data.Data + "</color> "; newI.sprite = ico_warning; break; } RectTransform newGoRectTransform = newGo.GetComponent <RectTransform>(); RectTransform newTextRectTransform = newT.GetComponent <RectTransform>(); newGoRectTransform.anchoredPosition = new Vector2(newGoRectTransform.anchoredPosition.x, -currentLogY); Vector2 textSize = UIContentSizeUtils.GetContentSizeFitterPreferredSize(newTextRectTransform, newT.GetComponent <ContentSizeFitter>()); currentLogY += 12; if (textSize.x + 2 > currentLogX) { currentLogX = textSize.x + 2; } DebugCmdContent.sizeDelta = new Vector2(currentLogX, currentLogY + 6); EventTriggerListener.Get(newT).onClick = SetCurrentActiveLogItem; if (lastActiveLogItem == null || lastActiveLogItem == lastLogItem) { SetCurrentActiveLogItem(newT); DebugCmdScrollViewScrollRect.verticalNormalizedPosition = 0; } lastLogItem = newT; }