Files
Magical-Jumping-Bean/Library/metadata/56/5653477a5039f674da8f856adcf47172
T

125 lines
9.0 KiB
Plaintext
Raw Normal View History

2019-09-29 19:40:54 -04:00
í$02019.2.3f1þÿÿÿÿÿ’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€jH€wÿÿÿÿ1€1€ÿÿÿÿ@ÞQ€jH€€ÿÿÿÿ1€1€ÿÿÿÿ@ÞQ€jy
 Þ€#!.€,"€…ÿÿÿÿ#@1€1€ÿÿÿÿ$Þ%.€j&Õ€“ÿÿÿÿ'1€1€ÿÿÿÿ(ÀÞ)€j€ÿÿÿÿ*H€›€ÿÿÿÿ+1€1€ÿÿÿÿ,@Þ-Q€j.y
 /Þ€#0.€,1 €§2@¾€¶ 3@Þ€#4.€,5H€»ÿÿÿÿ61€1€ÿÿÿÿ7@Þ8Q€j9H€Æÿÿÿÿ:1€1€ÿÿÿÿ;@Þ<Q€j=H€Øÿÿÿÿ>1€1€ÿÿÿÿ?@Þ@Q€jAMonoImporterPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_ExternalObjectsSourceAssetIdentifiertypeassemblynamem_UsedFileIDsm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariantsÿÿ£Gñ×ÜZ56 :!@iÁJ*€7€ÿÿÿÿ¦€²E Þ.(a Þ.€r Þ .
H€«€ÿÿÿÿ 1€1€ÿÿÿÿ @Þ
Q€jH€ê€ÿÿÿÿ1€1€ÿÿÿÿ@ÞQ€jñ€=ÿÿÿÿ1€1€ÿÿÿÿÞ€j€ÿÿÿÿH€›€ÿÿÿÿ1€1€ÿÿÿÿ@ÞQ€jy
 Þ.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¯À`e5t§“oG­øX¦ÍO'6Packages/com.unity.timeline/Editor/Items/ItemsUtils.csày¯
ItemsUtilsèusing System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine.Timeline;
namespace UnityEditor.Timeline
{
static class ItemsUtils
{
static readonly Dictionary<TimelineClip, ClipItem> s_ClipCache = new Dictionary<TimelineClip, ClipItem>();
static readonly Dictionary<IMarker, MarkerItem> s_MarkerCache = new Dictionary<IMarker, MarkerItem>();
public static IEnumerable<ItemsPerTrack> ToItemsPerTrack(this IEnumerable<ITimelineItem> items)
{
var groupedItems = items.GroupBy(c => c.parentTrack);
foreach (var group in groupedItems)
{
yield return new ItemsPerTrack(group.Key, group.ToArray());
}
}
public static ITimelineItem ToItem(this TimelineClip clip)
{
if (s_ClipCache.ContainsKey(clip))
return s_ClipCache[clip];
var ret = new ClipItem(clip);
s_ClipCache.Add(clip, ret);
return ret;
}
public static ITimelineItem ToItem(this IMarker marker)
{
if (s_MarkerCache.ContainsKey(marker))
return s_MarkerCache[marker];
var ret = new MarkerItem(marker);
s_MarkerCache.Add(marker, ret);
return ret;
}
public static IEnumerable<ITimelineItem> ToItems(this IEnumerable<TimelineClip> clips)
{
return clips.Select(ToItem);
}
public static IEnumerable<ITimelineItem> ToItems(this IEnumerable<IMarker> markers)
{
return markers.Select(ToItem);
}
public static IEnumerable<ITimelineItem> GetItems(this TrackAsset track)
{
var list = track.clips.Select(clip => (ITimelineItem) new ClipItem(clip)).ToList();
list.AddRange(track.GetMarkers().Select(marker => (ITimelineItem) new MarkerItem(marker)));
list = list.OrderBy(x => x.start).ThenBy(x => x.end).ToList();
return list;
}
public static void GetItemRange(this TrackAsset track, out double start, out double end)
{
start = 0;
end = 0;
var items = track.GetItems().ToList();
if (items.Any())
{
start = items.First().start;
end = items.Last().end;
}
}
public static IEnumerable<ITimelineItem> GetItemsExcept(this TrackAsset track, IEnumerable<ITimelineItem> items)
{
return GetItems(track).Except(items);
}
public static IEnumerable<Type> GetItemTypes(IEnumerable<ITimelineItem> items)
{
var types = new List<Type>();
if (items.OfType<ClipItem>().Any())
types.Add(typeof(ClipItem));
if (items.OfType<MarkerItem>().Any())
types.Add(typeof(MarkerItem));
return types;
}
public static IEnumerable<Type> GetItemTypes(IEnumerable<ItemsPerTrack> itemsGroups)
{
return GetItemTypes(itemsGroups.SelectMany(i => i.items)).Distinct();
}
public static void SetItemsStartTime(IEnumerable<ItemsPerTrack> newItems, double time)
{
var startTimes = newItems.Select(d => d.items.Min(x => x.start)).ToList();
var min = startTimes.Min();
startTimes = startTimes.Select(x => x - min + time).ToList();
for (int i = 0; i < newItems.Count(); ++i)
EditModeUtils.SetStart(newItems.ElementAt(i).items, startTimes[i]);
}
public static double TimeGapBetweenItems(ITimelineItem leftItem, ITimelineItem rightItem, WindowState state)
{
if (leftItem is MarkerItem && rightItem is MarkerItem)
{
var markerType = ((MarkerItem)leftItem).marker.GetType();
var gap = state.PixelDeltaToDeltaTime(StyleManager.UssStyleForType(markerType).fixedWidth);
return gap;
}
return 0.0;
}