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); }); } }