123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 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);
- }
- }
- }
|