40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
public class DebugLogPanel : MonoBehaviour
|
|
{
|
|
uint qsize = 15; // number of messages to keep
|
|
Queue myLogQueue = new Queue();
|
|
|
|
void Start() {
|
|
Debug.Log("SpaceRace!");
|
|
Debug.Log("WSAD - Strafe");
|
|
Debug.Log("Mouse 1 - Thrust");
|
|
Debug.Log("Mouse 2 - Decelerate");
|
|
Debug.Log("Space - Respawn");
|
|
Debug.Log("F10 - Exit");
|
|
}
|
|
|
|
void OnEnable() {
|
|
Application.logMessageReceived += HandleLog;
|
|
}
|
|
|
|
void OnDisable() {
|
|
Application.logMessageReceived -= HandleLog;
|
|
}
|
|
|
|
void HandleLog(string logString, string stackTrace, LogType type) {
|
|
// myLogQueue.Enqueue("[" + type + "] : " + logString);
|
|
myLogQueue.Enqueue(logString);
|
|
if (type == LogType.Exception)
|
|
myLogQueue.Enqueue(stackTrace);
|
|
while (myLogQueue.Count > qsize)
|
|
myLogQueue.Dequeue();
|
|
}
|
|
|
|
void OnGUI() {
|
|
GUILayout.BeginArea(new Rect(0, 0, 400, Screen.height));
|
|
GUILayout.Label("\n" + string.Join("\n", myLogQueue.ToArray()));
|
|
GUILayout.EndArea();
|
|
}
|
|
} |