diff options
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/MarkerItem.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/MarkerItem.cs | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/MarkerItem.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/MarkerItem.cs new file mode 100644 index 0000000..e62c348 --- /dev/null +++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/MarkerItem.cs @@ -0,0 +1,106 @@ +using System; +using UnityEngine.Timeline; +using Object = UnityEngine.Object; + +namespace UnityEditor.Timeline +{ + class MarkerItem : ITimelineItem + { + readonly IMarker m_Marker; + + public IMarker marker + { + get { return m_Marker; } + } + + public MarkerItem(IMarker marker) + { + m_Marker = marker; + } + + public TrackAsset parentTrack + { + get { return m_Marker.parent; } + set {} + } + + public double start + { + get { return m_Marker.time; } + set { m_Marker.time = value; } + } + + public double end + { + get { return m_Marker.time; } + } + + public double duration + { + get { return 0.0; } + } + + public bool IsCompatibleWithTrack(TrackAsset track) + { + return true; + } + + public void PushUndo(string operation) + { + var m = m_Marker as Object; + if (m != null) + { + TimelineUndo.PushUndo(m, operation); + } + else + { + TimelineUndo.PushUndo(m_Marker.parent, operation); + } + } + + public TimelineItemGUI gui + { + get { return ItemToItemGui.GetGuiForMarker(m_Marker); } + } + + public void Delete() + { + MarkerModifier.DeleteMarker(m_Marker); + } + + public ITimelineItem CloneTo(TrackAsset parent, double time) + { + var item = new MarkerItem(MarkerModifier.CloneMarkerToParent(m_Marker, parent)); + item.start = time; + return item; + } + + protected bool Equals(MarkerItem otherMarker) + { + return Equals(m_Marker, otherMarker.m_Marker); + } + + public override int GetHashCode() + { + return (m_Marker != null ? m_Marker.GetHashCode() : 0); + } + + public override string ToString() + { + return m_Marker.ToString(); + } + + public bool Equals(ITimelineItem other) + { + return Equals((object)other); + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) return false; + if (ReferenceEquals(this, obj)) return true; + var other = obj as MarkerItem; + return other != null && Equals(other); + } + } +} |
