You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.2 KiB
69 lines
2.2 KiB
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Timeline;
|
|
|
|
namespace UnityEditor.Timeline
|
|
{
|
|
[CustomEditor(typeof(Marker), true)]
|
|
[CanEditMultipleObjects]
|
|
class MarkerInspector : BasicAssetInspector
|
|
{
|
|
static class Styles
|
|
{
|
|
public static readonly string MultipleMarkerSelectionTitle = L10n.Tr("{0} Markers");
|
|
public static readonly string UndoCommand = L10n.Tr("Rename marker");
|
|
}
|
|
|
|
internal override bool IsEnabled()
|
|
{
|
|
if (!TimelineUtility.IsCurrentSequenceValid() || IsCurrentSequenceReadOnly())
|
|
return false;
|
|
var marker = target as Marker;
|
|
if (marker != null)
|
|
{
|
|
if (!marker.parent.GetShowMarkers())
|
|
return false;
|
|
}
|
|
return base.IsEnabled();
|
|
}
|
|
|
|
internal override void OnHeaderTitleGUI(Rect titleRect, string header)
|
|
{
|
|
if (targets.Length > 1)
|
|
{
|
|
var multiSelectTitle = string.Format(Styles.MultipleMarkerSelectionTitle, targets.Length);
|
|
base.OnHeaderTitleGUI(titleRect, multiSelectTitle);
|
|
return;
|
|
}
|
|
|
|
var marker = target as Marker;
|
|
if (marker != null)
|
|
{
|
|
if (marker.parent.GetShowMarkers() && TimelineUtility.IsCurrentSequenceValid() && !IsCurrentSequenceReadOnly())
|
|
{
|
|
EditorGUI.BeginChangeCheck();
|
|
var newName = EditorGUI.DelayedTextField(titleRect, marker.name);
|
|
if (EditorGUI.EndChangeCheck())
|
|
{
|
|
UndoExtensions.RegisterMarker(marker, Styles.UndoCommand);
|
|
marker.name = newName;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
base.OnHeaderTitleGUI(titleRect, marker.name);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var typeName = TypeUtility.GetDisplayName(target.GetType());
|
|
EditorGUILayout.LabelField(typeName);
|
|
}
|
|
}
|
|
|
|
static bool IsCurrentSequenceReadOnly()
|
|
{
|
|
return TimelineWindow.instance.state.editSequence.isReadOnly;
|
|
}
|
|
}
|
|
}
|
|
|