Files
Magical-Jumping-Bean/Library/metadata/57/57a39be2178cca94ab21e15c082e3ab6
T

139 lines
9.8 KiB
Plaintext
Raw Normal View History

2019-09-29 19:40:54 -04:00
í'X2019.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¯è`u:¹.qȬIºÅ€â£kYPackages/com.unity.timeline/Editor/inspectors/ClipInspector/ClipInspectorSelectionInfo.csày¯ClipInspectorSelectionInfoÆusing System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Timeline;
namespace UnityEditor.Timeline
{
class ClipInspectorSelectionInfo
{
public double start, end, duration;
public double multipleClipStart, multipleClipEnd;
public double smallestDuration;
public bool hasMultipleStartValues, hasMultipleEndValues, hasMultipleDurationValues;
public bool supportsExtrapolation, supportsClipIn, supportsSpeedMultiplier, supportsBlending;
public bool hasBlendIn, hasBlendOut;
public bool selectedAssetTypesAreHomogeneous;
public bool containsAtLeastTwoClipsOnTheSameTrack;
public HashSet<TrackAsset> uniqueParentTracks = new HashSet<TrackAsset>();
public ICollection<TimelineClip> clips { get; private set; }
public ClipInspectorSelectionInfo(ICollection<TimelineClip> selectedClips)
{
supportsBlending = supportsClipIn = supportsExtrapolation = supportsSpeedMultiplier = true;
hasBlendIn = hasBlendOut = true;
selectedAssetTypesAreHomogeneous = true;
smallestDuration = TimelineClip.kMaxTimeValue;
start = end = duration = 0;
multipleClipStart = multipleClipEnd = 0;
hasMultipleStartValues = hasMultipleEndValues = hasMultipleDurationValues = false;
containsAtLeastTwoClipsOnTheSameTrack = false;
clips = selectedClips;
Build();
}
void Build()
{
if (!clips.Any()) return;
var firstSelectedClip = clips.First();
if (firstSelectedClip == null) return;
var firstSelectedClipAssetType = firstSelectedClip.asset != null ? firstSelectedClip.asset.GetType() : null;
smallestDuration = TimelineClip.kMaxTimeValue;
InitSelectionBounds(firstSelectedClip);
InitMultipleClipBounds(firstSelectedClip);
foreach (var clip in clips)
{
if (clip == null) continue;
uniqueParentTracks.Add(clip.parentTrack);
selectedAssetTypesAreHomogeneous &= clip.asset.GetType() == firstSelectedClipAssetType;
UpdateClipCaps(clip);
UpdateBlends(clip);
UpdateSmallestDuration(clip);
UpdateMultipleValues(clip);
UpdateMultipleValues(clip);
}
containsAtLeastTwoClipsOnTheSameTrack = uniqueParentTracks.Count != clips.Count;
}
public void Update()
{
var firstSelectedClip = clips.First();
if (firstSelectedClip == null) return;
hasBlendIn = hasBlendOut = true;
hasMultipleStartValues = hasMultipleDurationValues = hasMultipleEndValues = false;
smallestDuration = TimelineClip.kMaxTimeValue;
InitSelectionBounds(firstSelectedClip);
InitMultipleClipBounds(firstSelectedClip);
foreach (var clip in clips)
{
if (clip == null) continue;
UpdateBlends(clip);
UpdateSmallestDuration(clip);
UpdateMultipleValues(clip);
}
}
void InitSelectionBounds(TimelineClip clip)
{
start = clip.start;
duration = clip.duration;
end = clip.start + clip.duration;
}
void InitMultipleClipBounds(TimelineClip firstSelectedClip)
{
multipleClipStart = firstSelectedClip.start;
multipleClipEnd = end;
}
void UpdateSmallestDuration(TimelineClip clip)
{
smallestDuration = Math.Min(smallestDuration, clip.duration);
}
void UpdateClipCaps(TimelineClip clip)
{
supportsBlending &= clip.SupportsBlending();
supportsClipIn &= clip.SupportsClipIn();
supportsExtrapolation &= clip.SupportsExtrapolation();
supportsSpeedMultiplier &= clip.SupportsSpeedMultiplier();
}
void UpdateMultipleValues(TimelineClip clip)
{
hasMultipleStartValues |= !Mathf.Approximately((float)clip.start, (float)start);
hasMultipleDurationValues |= !Mathf.Approximately((float)clip.duration, (float)duration);
var clipEnd = clip.start + clip.duration;
hasMultipleEndValues |= !Mathf.Approximately((float)clipEnd, (float)end);
multipleClipStart = Math.Min(multipleClipStart, clip.start);
multipleClipEnd = Math.Max(multipleClipEnd, clip.end);
}
void UpdateBlends(TimelineClip clip)
{
hasBlendIn &= clip.hasBlendIn;
hasBlendOut &= clip.hasBlendOut;