Files
Magical-Jumping-Bean/Library/metadata/9a/9a371bcbba2084dd0a8ebc6826aa8794
T

116 lines
9.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_Namespace\ày¯à ©s±¼«HÝ èˆbªxIWPackages/com.unity.timeline/Editor/inspectors/CurvesOwner/CurvesOwnerInspectorHelper.csày¯CurvesOwnerInspectorHelperusing System;
using UnityEngine;
using UnityEngine.Timeline;
namespace UnityEditor.Timeline
{
static class CurvesOwnerInspectorHelper
{
// Because what is animated is not the asset, but the instanced playable,
// we apply the animation clip here to preview what is being shown
// This could be improved doing something more inline with animation mode,
// and reverting values that aren't be recorded later to avoid dirtying the asset
public static void PreparePlayableAsset(ICurvesOwnerInspectorWrapper wrapper)
{
if (Event.current.type != EventType.Repaint)
return;
if (wrapper.serializedPlayableAsset == null)
return;
var curvesOwner = wrapper.curvesOwner;
if (curvesOwner == null || curvesOwner.curves == null)
return;
var timelineWindow = TimelineWindow.instance;
if (timelineWindow == null || timelineWindow.state == null)
return;
// requires preview mode. reset the eval time so previous value is correct value is displayed while toggling
if (!timelineWindow.state.previewMode)
{
wrapper.lastEvalTime = -1;
return;
}
var time = wrapper.ToLocalTime(timelineWindow.state.editSequence.time);
// detect if the time has changed, or if the curves have changed
if (Math.Abs(wrapper.lastEvalTime - time) < TimeUtility.kTimeEpsilon)
{
int curveVersion = AnimationClipCurveCache.Instance.GetCurveInfo(curvesOwner.curves).version;
if (curveVersion == wrapper.lastCurveVersion)
return;
wrapper.lastCurveVersion = curveVersion;
}
wrapper.lastEvalTime = time;
var clipInfo = AnimationClipCurveCache.Instance.GetCurveInfo(curvesOwner.curves);
int count = clipInfo.bindings.Length;
if (count == 0)
return;
wrapper.serializedPlayableAsset.Update();
var prop = wrapper.serializedPlayableAsset.GetIterator();
while (prop.NextVisible(true))
{
if (curvesOwner.IsParameterAnimated(prop.propertyPath))
{
var curve = curvesOwner.GetAnimatedParameter(prop.propertyPath);
switch (prop.propertyType)
{
case SerializedPropertyType.Boolean:
prop.boolValue = curve.Evaluate((float)time) > 0;
break;
case SerializedPropertyType.Float:
prop.floatValue = curve.Evaluate((float)time);
break;
case SerializedPropertyType.Integer:
prop.intValue = Mathf.FloorToInt(curve.Evaluate((float)time));
break;
case SerializedPropertyType.Color:
SetAnimatedValue(curvesOwner, prop, "r", time);
SetAnimatedValue(curvesOwner, prop, "g", time);
SetAnimatedValue(curvesOwner, prop, "b", time);
SetAnimatedValue(curvesOwner, prop, "a", time);
break;
case SerializedPropertyType.Quaternion:
case SerializedPropertyType.Vector4:
SetAnimatedValue(curvesOwner, prop, "w", time);
goto case SerializedPropertyType.Vector3;
case SerializedPropertyType.Vector3:
SetAnimatedValue(curvesOwner, prop, "z", time);
goto case SerializedPropertyType.Vector2;
case SerializedPropertyType.Vector2:
SetAnimatedValue(curvesOwner, prop, "x", time);
SetAnimatedValue(curvesOwner, prop, "y", time);
break;
}
}
}
wrapper.serializedPlayableAsset.ApplyModifiedPropertiesWithoutUndo();
}
static void SetAnimatedValue(ICurvesOwner clip, SerializedProperty property, string path, double localTime)
{
var prop = property.FindPropertyRelative(path);
if (prop != null)
{
var curve = clip.GetAnimatedParameter(prop.propertyPath);
if (curve != null)
prop.floatValue = curve.Evaluate((float)localTime);
}