public override void OnGUI()
        {
            CanvasGUI.Box(new Rect(position.position, new Vector2(20, position.height)),
                          new GUIContent(conditional.ToString()[0].ToString()));
            string nodeName = name;

            if (CanvasGUI.TextField(new Rect(new Vector2(position.x + 25, position.y), new Vector2(140, 20)), ref nodeName))
            {
                name = DialogueEditorGUI.Cache.Conditions.ItemNames[DialogueEditorGUI.Cache.Conditions.ItemNames.IndexOf(name)] = nodeName;
            }
        }
 public override void OnGUI()
 {
     base.OnGUI();
     CanvasGUI.Box(position, new GUIContent("Start Node"), Color.green);
 }
        protected override void OnGUI()
        {
            for (int i = 0; i < groupsToDraw.Count; i++)
            {
                ItemGroup itemGroup = groupsToDraw[i];
                Rect      tolerance = new Rect(itemGroup.position);
                tolerance.xMin -= 20;
                tolerance.yMin -= 20;
                tolerance.xMax += 20;
                tolerance.yMax += 20;
                bool hasFocus = tolerance.Contains(Event.current.mousePosition);

                CanvasGUI.BeginGroup(itemGroup.position, GUI.skin.box, hasFocus);

                foreach (MenuItem item in itemGroup)
                {
                    if (item.content.text.Equals("Saparator"))
                    {
                        GUI.Label(item.position, "----------");
                    }
                    else if (item.position.Contains(Event.current.mousePosition))
                    {
                        if (Event.current.type == EventType.MouseUp && Event.current.button == 0)
                        {
                            if (item.Group)
                            {
                                groupsToDraw.Add(item.subItems);
                            }
                            else
                            {
                                item.Execute();
                                close = true;
                            }
                            Event.current.Use();
                        }

                        if (item.Group && groupsToDraw.Exists(j => j == item.subItems))
                        {
                            item.subItems.forceFocus = true;
                        }
                        CanvasGUI.Box(item.position, item.content);
                    }
                    else
                    {
                        if (item.Group && groupsToDraw.Exists(j => j == item.subItems))
                        {
                            item.subItems.forceFocus = false;
                        }
                        GUI.Label(item.position, item.content);
                    }

                    if (item.Group)
                    {
                        GUI.Label(new Rect(item.position.position + new Vector2(item.position.size.x - GroupIconSize, 0),
                                           new Vector2(GroupIconSize, minHeight)), ">");
                    }
                }

                CanvasGUI.EndGroup();

                if (!hasFocus && !itemGroup.forceFocus)
                {
                    if (i != 0)
                    {
                        groupsToDraw.Remove(itemGroup);
                    }
                    else if (Event.current.type == EventType.MouseUp)
                    {
                        close = true;
                    }
                }
            }

            if (groupsToDraw.Count == 0 || close)
            {
                OnClose();
            }
            DialogueEditorGUI.OnRepaint();
        }