public static void CloseWindow()
 {
     if (null == m_Instance)
     {
         return;
     }
     m_Instance.Close();
     m_Instance = null;
 }
    private void OnGUI()
    {
        if (null == m_KeyframeData)
        {
            return;
        }

        if (null == m_KeyframeData.framedatalist)
        {
            return;
        }

        EditorGUILayout.LabelField("时间: " + m_KeyframeTime.ToString("f2"), GUILayout.Width(100f));
        GUILayout.Space(10f);
        EditorGUILayout.LabelField("数量: " + m_KeyframeData.framedatalist.Count.ToString(), GUILayout.Width(100f));
        GUILayout.Space(10f);

        for (int i = 0; i < m_KeyframeData.framedatalist.Count; ++i)
        {
            EditorGUILayout.BeginHorizontal();
            {
                ActionFrameData temp = m_KeyframeData.framedatalist[i];

                EditorGUILayout.LabelField("节点类型: " + ActionEditorWindow.Instance.m_szActionFrameName[temp.Type]);

                GUILayout.FlexibleSpace();
                if (GUILayout.Button("编辑节点", GUILayout.Width(100f)))
                {
                    ActionEditorWindow.Instance.InsertFrame((EActionFrameType)temp.Type, temp);
                    ActionEditorWindow.Instance.Repaint();
                    m_Instance.Close();
                    m_Instance = null;
                    break;
                }
                if (GUILayout.Button("X", GUILayout.Width(20f)))
                {
                    var option = EditorUtility.DisplayDialog("确定要删除节点吗?",
                                                             "确定吗?确定吗?确定吗?确定吗?确定吗?",
                                                             "确定", "取消");
                    if (option)
                    {
                        ActionEditorWindow.Instance.DelFrame(temp);
                        ActionEditorWindow.Instance.Repaint();
                        m_Instance.Close();
                        m_Instance = null;
                        break;
                    }
                }

            }
            EditorGUILayout.EndHorizontal();
        }
    }
    private void OnGUI()
    {
        if (null == m_KeyframeData)
        {
            return;
        }

        if (null == m_KeyframeData.framedatalist)
        {
            return;
        }

        EditorGUILayout.LabelField("时间: " + m_KeyframeTime.ToString("f2"), GUILayout.Width(100f));
        GUILayout.Space(10f);
        EditorGUILayout.LabelField("数量: " + m_KeyframeData.framedatalist.Count.ToString(), GUILayout.Width(100f));
        GUILayout.Space(10f);

        for (int i = 0; i < m_KeyframeData.framedatalist.Count; ++i)
        {
            EditorGUILayout.BeginHorizontal();
            {
                ActionFrameData temp = m_KeyframeData.framedatalist[i];

                EditorGUILayout.LabelField("节点类型: " + ActionEditorWindow.Instance.m_szActionFrameName[temp.Type]);

                GUILayout.FlexibleSpace();
                if (GUILayout.Button("编辑节点", GUILayout.Width(100f)))
                {
                    ActionEditorWindow.Instance.InsertFrame((EActionFrameType)temp.Type, temp);
                    ActionEditorWindow.Instance.Repaint();
                    m_Instance.Close();
                    m_Instance = null;
                    break;
                }
                if (GUILayout.Button("X", GUILayout.Width(20f)))
                {
                    var option = EditorUtility.DisplayDialog("确定要删除节点吗?",
                                                             "确定吗?确定吗?确定吗?确定吗?确定吗?",
                                                             "确定", "取消");
                    if (option)
                    {
                        ActionEditorWindow.Instance.DelFrame(temp);
                        ActionEditorWindow.Instance.Repaint();
                        m_Instance.Close();
                        m_Instance = null;
                        break;
                    }
                }
            }
            EditorGUILayout.EndHorizontal();
        }
    }
    private void ClearData()
    {
        OnStop();
        // editor state
        m_bPlay             = false;
        m_bIsCreateNew      = false;
        m_bInitSceneCamera  = false;
        m_fAniTimeLastValue = 0f;
        m_ActionId          = -1;

        // editor data
        m_ObjMap = null;
        if (null != m_ObjMapInstance)
        {
            UnityEngine.Object.Destroy(m_ObjMapInstance);

            // clear terrain
            CloseTerrain();
        }
        m_ObjMapInstance      = null;
        m_DurationInputBuffer = null;
        m_MapIDInputBuffer    = null;

        // action data
        m_fAniTimeValue     = 0f;
        m_CurrentActionName = null;;
        m_CurrentMapName    = "";
        m_FileData          = null;
        m_KeyFrameDataDict  = null;


        //Close Windows
        var subTypeQuery = from t in Assembly.GetExecutingAssembly().GetTypes()
                           where IsSubClassOf(t, typeof(AbstractFrameEdit))
                           select t;

        foreach (var type in subTypeQuery)
        {
            MethodInfo method = type.GetMethod("CloseWindow");
            method.Invoke(null, null);
        }
        m_RuntimeParam.ClearData();
        AERuntimeParamEditorWindow.CloseWindow();
        ActionKeyframeWindow.CloseWindow();
        ActionTimeChangeWindow.CloseWindow();
        ActionListWindow.CloseWindow();
        ConflictSolveWindow.CloseWindow();
    }
 static void CreateWindow()
 {
     m_Instance = EditorWindow.GetWindow <ActionKeyframeWindow>(false, "关键帧节点列表", true);
 }
 static void CreateWindow()
 {
     m_Instance = EditorWindow.GetWindow<ActionKeyframeWindow>(false, "关键帧节点列表", true);
 }
 public static void CloseWindow()
 {
     if (null == m_Instance)
     {
         return;
     }
     m_Instance.Close();
     m_Instance = null;
 }