public void Draw(Rect rect)
    {
        GUILayout.BeginArea(rect, GUI.skin.box);
        EditorGUI.DrawRect(new Rect(Vector2.zero, rect.size), new Color(0.3f, 0.3f, 0.3f));
        GUITools.DrawGrid(rect, graphOffset, 5f, 0.2f, Color.gray * 0.5f);
        GUITools.DrawGrid(rect, graphOffset, 20f, 0.5f, Color.gray);


        DrawTreePath(new Rect(0, 0, 1000, 25));
        DrawTransitions();
        DrawNodes();


        if (hasSelected)
        {
            if (inspector == null)
            {
                inspector = new LZFighterEditorInspector();
            }
            inspector.fighter = fighter;
            inspector.OnInspectorGUI(new Rect(rect.size.x - 300, 0, 300, rect.size.y), this);
        }

        ProcessEvents();



        GUILayout.EndArea();
    }