Files
spacerace/Assets/Src/DebugLogPanel.cs
T
2023-07-10 00:23:48 +10:00

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();
}
}