Files
Magical-Jumping-Bean/Library/metadata/dc/dc99dfeec967f2644b25dd6bace59b7e
T

133 lines
9.0 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_Namespacehh\ày¯ÈHÍ™ýîœv/F´RݶÊ^¹ç@Packages/com.unity.timeline/Editor/treeview/TimelineClipUnion.csày¯TimelineClipUnion½using System.Collections.Generic;
using System.Linq;
using UnityEditorInternal;
using UnityEngine;
namespace UnityEditor.Timeline
{
class TimelineClipUnion
{
List<TimelineClipGUI> m_Members = new List<TimelineClipGUI>();
Rect m_BoundingRect;
Rect m_Union;
double m_Start;
double m_Duration;
bool m_InitUnionRect = true;
void Add(TimelineClipGUI clip)
{
m_Members.Add(clip);
if (m_Members.Count == 1)
{
m_BoundingRect = clip.clippedRect;
}
else
{
m_BoundingRect = Encompass(m_BoundingRect, clip.rect);
}
}
public void Draw(Rect parentRect, WindowState state)
{
if (m_InitUnionRect)
{
m_Start = m_Members.OrderBy(c => c.clip.start).First().clip.start;
m_Duration = m_Members.Sum(c => c.clip.duration);
m_InitUnionRect = false;
}
m_Union = new Rect((float)(m_Start) * state.timeAreaScale.x, 0, (float)m_Duration * state.timeAreaScale.x, 0);
// transform clipRect into pixel-space
m_Union.xMin += state.timeAreaTranslation.x + parentRect.x;
m_Union.xMax += state.timeAreaTranslation.x + parentRect.x;
m_Union.y = parentRect.y + 4.0f;
m_Union.height = parentRect.height - 8.0f;
// calculate clipped rect
if (m_Union.x < parentRect.xMin)
{
var overflow = parentRect.xMin - m_Union.x;
m_Union.x = parentRect.xMin;
m_Union.width -= overflow;
}
// bail out if completely clipped
if (m_Union.xMax < parentRect.xMin)
return;
if (m_Union.xMin > parentRect.xMax)
return;
EditorGUI.DrawRect(m_Union, DirectorStyles.Instance.customSkin.colorClipUnion);
}
public static List<TimelineClipUnion> Build(List<TimelineClipGUI> clips)
{
var unions = new List<TimelineClipUnion>();
if (clips == null)
return unions;
TimelineClipUnion currentUnion = null;
foreach (var c in clips)
{
if (currentUnion == null)
{
currentUnion = new TimelineClipUnion();
currentUnion.Add(c);
unions.Add(currentUnion);
}
else
{
Rect result;
if (Intersection(c.rect, currentUnion.m_BoundingRect, out result))
{
currentUnion.Add(c);
}
else
{
currentUnion = new TimelineClipUnion();
currentUnion.Add(c);
unions.Add(currentUnion);
}
}
}
return unions;
}
public static Rect Encompass(Rect a, Rect b)
{
Rect newRect = a;
newRect.xMin = Mathf.Min(a.xMin, b.xMin);
newRect.yMin = Mathf.Min(a.yMin, b.yMin);
newRect.xMax = Mathf.Max(a.xMax, b.xMax);
newRect.yMax = Mathf.Max(a.yMax, b.yMax);
return newRect;
}
public static bool Intersection(Rect r1, Rect r2, out Rect intersection)
{
if (!r1.Overlaps(r2) && !r2.Overlaps(r1))
{
intersection = new Rect(0, 0, 0, 0);
return false;
}
float left = Mathf.Max(r1.xMin, r2.xMin);
float top = Mathf.Max(r1.yMin, r2.yMin);
float right = Mathf.Min(r1.xMax, r2.xMax);
float bottom = Mathf.Min(r1.yMax, r2.yMax);
intersection = new Rect(left, top, right - left, bottom - top);
return true;