1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 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 TypeUtility.DoesTrackSupportMarkerType(track, m_Marker.GetType());
- }
-
- public void PushUndo(string operation)
- {
- UndoExtensions.RegisterMarker(m_Marker, 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);
- }
- }
- }
|