using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// console信息显示到text上,需要一个Scroll view contenet---text
/// </summary>
public class DebugPanel : MonoBehaviour
{
public static DebugPanel Instance;
public Text logText;
public RectTransform content;
private int count = 0;
private Vector2 contentVe2 = new Vector2();
StringBuilder MyStrBulder;
private bool isUpdate = false;
private bool isShow = false;
private DebugPanel()
{
if (Instance == null)
Instance = this;
}
private string strDebg = string.Empty;
public void AddText(string str)
{
isUpdate = true;
MyStrBulder.AppendFormat("{0}:{1}\n", count, str);
count++;
isUpdate = false;
}
// Use this for initialization
void Awake()
{
//Debug.LogError("ssssssssssssssssssssss");
MyStrBulder = new StringBuilder();
#if UNITY_5
Application.logMessageReceived += HandleLog;
#else
Application.logMessageReceived += HandleLog;
#endif
}
void HandleLog(string message, string stackTrace, LogType type)
{
switch (type)
{
case LogType.Error:
message = "<color=#FF0000>" + message + "</color>";
break;
case LogType.Assert:
message = "<color=#0000ff>" + message + "</color>";
break;
case LogType.Warning:
message = "<color=#EEEE00>" + message + "</color>";
break;
case LogType.Log:
message = "<color=#000000>" + message + "</color>";
break;
case LogType.Exception:
break;
default:
break;
}
AddText(message);
}
public void ShowHide()
{
isShow = !isShow;
if (isShow)
{
transform.GetChild(0).localPosition = new Vector3(-9990, 0, 0);
}
else
{
transform.GetChild(0).localPosition = new Vector3(0, 0, 0);
}
}
private bool isAdd = false;
// Update is called once per frame
void Update()
{
logText.text = MyStrBulder.ToString();
//logText.text += MyStrBulder;
contentVe2.Set(200, 23.5f * count);
content.sizeDelta = contentVe2;
}
}