private void _animList_DrawElement(Rect area, int index, bool isActive, bool isFocused) { var element = _animList.serializedProperty.GetArrayElementAtIndex(index); GUIContent label; if (Application.isPlaying && !this.serializedObject.isEditingMultipleObjects) { var targ = this.target as Animation; var clip = element.objectReferenceValue as AnimationClip; if (targ.IsPlaying(clip.name)) { label = EditorHelper.TempContent("Anim " + index.ToString("00") + " : (Playing)"); } else { label = EditorHelper.TempContent("Anim " + index.ToString("00")); } } else { label = EditorHelper.TempContent("Anim " + index.ToString("00")); } area.height = EditorGUIUtility.singleLineHeight; //EditorGUI.PropertyField(area, element, label); area = EditorGUI.PrefixLabel(area, label); if (Application.isPlaying && !this.serializedObject.isEditingMultipleObjects) { if (SPEditorGUI.PlayButton(ref area)) { var targ = this.target as Animation; var clip = element.objectReferenceValue as AnimationClip; if (targ != null && clip != null) { targ.Play(clip.name, PlayMode.StopSameLayer); } } } EditorGUI.PropertyField(area, element, GUIContent.none); if (GUI.enabled) { ReorderableListHelper.DrawDraggableElementDeleteContextMenu(_animList, area, index, isActive, isFocused); } }