private MotionMatchingEventMarker DrawEventMarker(MotionMatchingEventMarker marker)
        {
            GUILayout.Label("Name", GUILayout.Width(40f));
            marker.SetName(GUILayout.TextField(marker.GetName(), GUILayout.Width(200)));
            //marker.SetTime(GUILayout.HorizontalSlider(marker.GetTime(), 0f, editedData.length));

            GUILayout.Label("Time", GUILayout.Width(40f));
            marker.SetTime(Mathf.Clamp(EditorGUILayout.FloatField(marker.GetTime(), GUILayout.Width(50f)), 0f, editedData.animationLength));

            return(marker);
        }
        private void DrawEventMarkersRightMenu()
        {
            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Add Event Marker", GUIResources.Button_MD()))
            {
                editedData.eventMarkers.Add(new MotionMatchingEventMarker(string.Format("EventMarker{0}", editedData.eventMarkers.Count), currentAnimaionTime));
            }
            GUILayout.EndHorizontal();

            GUILayout.Space(10);

            for (int i = 0; i < editedData.eventMarkers.Count; i++)
            {
                GUILayout.BeginHorizontal();
                editedData.eventMarkers[i] = DrawEventMarker(editedData.eventMarkers[i]);

                if (GUILayout.Button("Set Event Marker time"))
                {
                    MotionMatchingEventMarker em = editedData.eventMarkers[i];
                    em.SetTime(currentAnimaionTime);
                    editedData.eventMarkers[i] = em;
                }
                GUILayout.Space(5);
                if (GUILayout.Button("X", GUILayout.Width(25f)))
                {
                    editedData.eventMarkers.RemoveAt(i);
                    i--;
                }

                GUILayout.EndHorizontal();
            }
            GUILayout.Space(10);
            if (GUILayout.Button("Sort Event Markers", GUIResources.Button_MD()))
            {
                editedData.eventMarkers.Sort(delegate(MotionMatchingEventMarker x, MotionMatchingEventMarker y)
                {
                    if (x.GetTime() <= y.GetTime())
                    {
                        return(-1);
                    }
                    return(1);
                });
            }
        }