public DebugMenuNode AddNode(Func <string> title) { DebugMenuNode node = new DebugMenuNode(title); _nodes.Add(node); return(node); }
public DebugMenuNode AddNode(Func <string> title) { DebugMenuNode node = new DebugMenuNode(title, this); _children.Add(node); return(node); }
public void RemoveNode(DebugMenuNode node) { if (null == node) { return; } _nodes.Remove(node); if (_currentNode == node) { SetCurrentNode(null); } }
private void InitLogMessageDebugNode() { DebugMenuNode debugMenuNode = AddNode(() => "Logs"); debugMenuNode.RenderContentsAction = () => { #if USE_LOG_MESSAGE_BUFFER GUIStyle style = GUI.skin.textArea; style.richText = true; GUILayout.TextArea(_logMessageBuffer.ToString(), style); #else foreach (LogMessage message in _logMessages) { switch (message.type) { case LogType.Assert: GUI.color = Color.green; break; case LogType.Warning: GUI.color = Color.yellow; break; case LogType.Error: case LogType.Exception: GUI.color = Color.red; break; default: GUI.color = Color.white; break; } GUILayout.Label($"[{message.type}]: {message.message}"); } #endif }; }
public void SetCurrentNode(DebugMenuNode node) { _currentNode = node; _windowScrollPos = Vector2.zero; }
public DebugMenuNode(Func <string> title, DebugMenuNode parent) { Title = title; Parent = parent; }