Files
Magical-Jumping-Bean/Library/metadata/43/4335a164bb763104c8805212c23d795f
T

177 lines
9.8 KiB
Plaintext
Raw Normal View History

2019-09-29 19:40:54 -04:00
í'<2019.2.4f1þÿÿÿÿÿ’3$øÌuñ옲e+ Í=^7€ÿÿÿÿ€¦€²€Ѐ¦€¦€¦€#¦€+H€3ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€ Q€j€
H€<ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€Õ€Iÿÿÿÿ€1€1€ÿÿÿÿÀÞ€€H€j€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€™€PAssetMetaDataguiddata[0]data[1]data[2]data[3]pathNameoriginalNamelabelsassetStoreRef ÿÿfš†!ë5˜9Ý4QÁóBí7€ÿÿÿÿ€¦€²€
E€ Þ€#€.€,€5a€ Þ€#€.€,€†€r€ Þ€# €.€,
€H€«€ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€ñ€JÿÿÿÿÀ1€1€ÿÿÿÿ€Þ€€€j€ÿÿÿÿ€\›€ÿÿÿÿ€H€rÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€H€wÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€H€€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€y€
€ Þ€#!€.€,"€€…ÿÿÿÿ#@1€1€ÿÿÿÿ$Þ€€%.€j€&Õ€“ÿÿÿÿ'€1€1€ÿÿÿÿ(ÀÞ€€)€j€ÿÿÿÿ*€H€›€ÿÿÿÿ+€1€1€ÿÿÿÿ,@Þ€€-Q€j€.y€
€ /Þ€#0€.€,1€ €§2@¾€¶ 3@Þ€#4€.€,5€H€»ÿÿÿÿ6€1€1€ÿÿÿÿ7@Þ€€8Q€j€9H€Æÿÿÿÿ:€1€1€ÿÿÿÿ;@Þ€€<Q€j€=H€Øÿÿÿÿ>€1€1€ÿÿÿÿ?@Þ€€@Q€j€AMonoImporterPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_ExternalObjectsSourceAssetIdentifiertypeassemblynamem_UsedFileIDsm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariantsÿÿ£Gñ×Ü�Z56 :!@iÁJ*�€7€ÿÿÿÿ€¦€²€E€ Þ€€.€€(a€ Þ€€.€€†€r€ Þ€ €.€
€H€«€ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€H€ê€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€ñ€=ÿÿÿÿ€1€1€ÿÿÿÿ€Þ€€€j€ÿÿÿÿ€H€›€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€y€
€ Þ€€.€€y€Q Þ€€.€ €Þ€X!H€iÿÿÿÿ"€1€1€ÿÿÿÿ#@Þ€€$Q€j€%H€uÿÿÿÿ&€1€1€ÿÿÿÿ'@Þ€€(Q€j€)PPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_DefaultReferencesm_Iconm_ExecutionOrderm_ClassNamem_Namespace``\ày¯Àl4SF»g@Œ%!,Ó—õ8Packages/com.unity.timeline/Runtime/Events/MarkerList.csày¯
MarkerListusing System;
using System.Collections.Generic;
using UnityEngine.Playables;
namespace UnityEngine.Timeline
{
[Serializable]
struct MarkerList : ISerializationCallbackReceiver
{
[SerializeField, HideInInspector] List<ScriptableObject> m_Objects;
[HideInInspector, NonSerialized] List<IMarker> m_Cache;
bool m_CacheDirty;
bool m_HasNotifications;
public List<IMarker> markers
{
get
{
BuildCache();
return m_Cache;
}
}
public MarkerList(int capacity)
{
m_Objects = new List<ScriptableObject>(capacity);
m_Cache = new List<IMarker>(capacity);
m_CacheDirty = true;
m_HasNotifications = false;
}
public void Add(ScriptableObject item)
{
if (item == null)
return;
m_Objects.Add(item);
m_CacheDirty = true;
}
public bool Remove(IMarker item)
{
if (!(item is ScriptableObject))
throw new InvalidOperationException("Supplied type must be a ScriptableObject");
return Remove((ScriptableObject)item, item.parent.timelineAsset, item.parent);
}
public bool Remove(ScriptableObject item, TimelineAsset timelineAsset, PlayableAsset thingToDirty)
{
if (!m_Objects.Contains(item)) return false;
TimelineUndo.PushUndo(thingToDirty, "Delete Marker");
m_Objects.Remove(item);
m_CacheDirty = true;
TimelineUndo.PushDestroyUndo(timelineAsset, thingToDirty, item, "Delete Marker");
return true;
}
public void Clear()
{
m_Objects.Clear();
m_CacheDirty = true;
}
public bool Contains(ScriptableObject item)
{
return m_Objects.Contains(item);
}
public IEnumerable<IMarker> GetMarkers()
{
return markers;
}
public int Count
{
get { return markers.Count; }
}
public IMarker this[int idx]
{
get
{
return markers[idx];
}
}
public List<ScriptableObject> GetRawMarkerList()
{
return m_Objects;
}
public IMarker CreateMarker(Type type, double time, TrackAsset owner)
{
if (!typeof(ScriptableObject).IsAssignableFrom(type) || !typeof(IMarker).IsAssignableFrom(type))
{
throw new InvalidOperationException(
"The requested type needs to inherit from ScriptableObject and implement IMarker");
}
if (!owner.supportsNotifications && typeof(INotification).IsAssignableFrom(type))
{
throw new InvalidOperationException(
"Markers implementing the INotification interface cannot be added on tracks that do not support notifications");
}
var markerSO = ScriptableObject.CreateInstance(type);
var marker = (IMarker)markerSO;
marker.time = time;
TimelineCreateUtilities.SaveAssetIntoObject(markerSO, owner);
TimelineUndo.RegisterCreatedObjectUndo(markerSO, "Create " + type.Name);
TimelineUndo.PushUndo(owner, "Create " + type.Name);
Add(markerSO);
marker.Initialize(owner);
return marker;
}
public bool HasNotifications()
{
BuildCache();
return m_HasNotifications;
}
void ISerializationCallbackReceiver.OnBeforeSerialize()
{
}
void ISerializationCallbackReceiver.OnAfterDeserialize()
{
#if UNITY_EDITOR
for (int i = m_Objects.Count - 1; i >= 0; i--)
{
object o = m_Objects[i];
if (o == null)
{
Debug.LogWarning("Empty marker found while loading timeline. It will be removed.");
m_Objects.RemoveAt(i);
}
}
#endif
m_CacheDirty = true;
}
void BuildCache()
{
if (m_CacheDirty)
{
m_Cache = new List<IMarker>(m_Objects.Count);
m_HasNotifications = false;
foreach (var o in m_Objects)
{
if (o != null)
{
m_Cache.Add(o as IMarker);
if (o is INotification)
{
m_HasNotifications = true;
}
}
}
m_CacheDirty = false;
}
}