예제 #1
0
        public DebugMenuNode AddNode(Func <string> title)
        {
            DebugMenuNode node = new DebugMenuNode(title);

            _nodes.Add(node);
            return(node);
        }
예제 #2
0
        public DebugMenuNode AddNode(Func <string> title)
        {
            DebugMenuNode node = new DebugMenuNode(title, this);

            _children.Add(node);
            return(node);
        }
예제 #3
0
        public void RemoveNode(DebugMenuNode node)
        {
            if (null == node)
            {
                return;
            }

            _nodes.Remove(node);

            if (_currentNode == node)
            {
                SetCurrentNode(null);
            }
        }
예제 #4
0
        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
            };
        }
예제 #5
0
 public void SetCurrentNode(DebugMenuNode node)
 {
     _currentNode     = node;
     _windowScrollPos = Vector2.zero;
 }
예제 #6
0
 public DebugMenuNode(Func <string> title, DebugMenuNode parent)
 {
     Title  = title;
     Parent = parent;
 }