summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/MarkerItem.cs
diff options
context:
space:
mode:
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.cs106
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);
+ }
+ }
+}