private static void ShowWindow()
        {
            MotionMatchingDataEditor editor = EditorWindow.GetWindow <MotionMatchingDataEditor>();

            editor.titleContent = new GUIContent("MM Data Editor");
            editor.position     = new Rect(100, 100, 1000, 300);
        }
        public static bool step1(int instanceID, int line)
        {
            MotionMatchingData asset;

            try
            {
                asset = (MotionMatchingData)EditorUtility.InstanceIDToObject(instanceID);
            }
            catch (System.Exception e)
            {
                return(false);
            }

            if (EditorWindow.HasOpenInstances <MotionMatchingDataEditor>())
            {
                EditorWindow.GetWindow <MotionMatchingDataEditor>().SetAsset(asset);
                EditorWindow.GetWindow <MotionMatchingDataEditor>().Repaint();
                return(true);
            }

            MotionMatchingDataEditor.ShowWindow();
            EditorWindow.GetWindow <MotionMatchingDataEditor>().SetAsset(asset);
            EditorWindow.GetWindow <MotionMatchingDataEditor>().Repaint();

            return(true);
        }
        private static void OnUndoRedoPerformed()
        {
            MotionMatchingDataEditor editor = EditorWindow.GetWindow <MotionMatchingDataEditor>();

            if (editor == null)
            {
                Undo.undoRedoPerformed -= OnUndoRedoPerformed;
            }
            else
            {
                editor.Repaint();
            }
        }