/// <summary>
    /// 绘制节点内得元素
    /// </summary>
    /// <param name="thisNode"></param>
    /// <param name="controller"></param>
    public void DrawArea(ConversationNode thisNode, ConversationNodeController controller)
    {
        _controller = controller;
        _thisNode   = thisNode;
        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("remove"))
        {
            _controller?.RemoveTranslation(this);
        }

        GUILayout.Label("TO " + (ToIndex == -1 ? "" : _controller?[ToIndex].Title));

        if (GUILayout.Button("Select"))
        {
            GenericMenu menu = new GenericMenu();
            for (int i = 0; i < controller.WindowNodes.Count; i++)
            {
                if (controller[i] != _thisNode)
                {
                    menu.AddItem(new GUIContent(controller[i].Title), false, OnOptionNode, i);
                }
            }

            menu.ShowAsContext();
        }

        EditorGUILayout.EndHorizontal();
    }
    //private List<TranslationCondition> _translationConditions = new List<TranslationCondition>();
    public void DrawWindow(ConversationNodeController controller)
    {
        _scroll             = EditorGUILayout.BeginScrollView(_scroll);
        ConversationContent = EditorGUILayout.TextArea(ConversationContent, GUILayout.ExpandWidth(true));
        EditorGUILayout.EndScrollView();

        if (GUILayout.Button("Add"))
        {
            controller.AddTranslation(this, null);
        }

        _editorRect.height = 200 + Translations.Count * 20;

        for (int i = 0; i < Translations.Count; i++)
        {
            Translations[i].DrawArea(this, controller);
        }
    }