Files
Magical-Jumping-Bean/Library/metadata/be/bea62e1faac8f9a48a4cb919ea05cb6a
T

88 lines
7.8 KiB
Plaintext
Raw Normal View History

2019-09-29 19:40:54 -04:00
í 2019.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_Namespacetx\ày¯Ø$ ëjâñªŒŸJ¨Ä›‘®P¼¦JPackages/com.unity.timeline/Editor/treeview/Drawers/Layers/MarkersLayer.csày¯ MarkersLayerª
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine.Timeline;
namespace UnityEditor.Timeline
{
class MarkersLayer : ItemsLayer
{
public MarkersLayer(Layer layerOrder, IRowGUI parent) : base(layerOrder)
{
CreateLists(parent);
}
void CreateLists(IRowGUI parent)
{
var markerCount = parent.asset.GetMarkerCount();
if (markerCount == 0) return;
var accumulator = new List<IMarker>();
var sortedMarkers = new List<IMarker>(parent.asset.GetMarkers());
var vm = TimelineWindowViewPrefs.GetTrackViewModelData(parent.asset);
sortedMarkers.Sort((lhs, rhs) =>
{
// Sort by time first
var timeComparison = lhs.time.CompareTo(rhs.time);
if (timeComparison != 0)
return timeComparison;
// If there's a collision, sort by edit timestamp
var lhsObject = lhs as object;
var rhsObject = rhs as object;
if (lhsObject.Equals(null) || rhsObject.Equals(null))
return 0;
var lhsHash = lhsObject.GetHashCode();
var rhsHash = rhsObject.GetHashCode();
if (vm.markerTimeStamps.ContainsKey(lhsHash) && vm.markerTimeStamps.ContainsKey(rhsHash))
return vm.markerTimeStamps[lhsHash].CompareTo(vm.markerTimeStamps[rhsHash]);
return 0;
});
foreach (var current in sortedMarkers)
{
// TODO: Take zoom factor into account?
if (accumulator.Count > 0 && Math.Abs(current.time - accumulator[accumulator.Count - 1].time) > TimeUtility.kTimeEpsilon)
ProcessAccumulator(accumulator, parent);
accumulator.Add(current);
}
ProcessAccumulator(accumulator, parent);
}
void ProcessAccumulator(List<IMarker> accumulator, IRowGUI parent)
{
if (accumulator.Count == 0) return;
if (accumulator.Count == 1)
{
AddItem(new TimelineMarkerGUI(accumulator[0], parent, this));
}
else
{
// Ensure that the cluster is always considered *below* the markers it contains.
var clusterZOrder = Next();
AddItem(
new TimelineMarkerClusterGUI(
accumulator.Select(m => new TimelineMarkerGUI(m, parent, this)).ToList(),
parent, this, clusterZOrder));
}
accumulator.Clear();