Files
Magical-Jumping-Bean/Library/metadata/87/8795e0dd0041d2f44b1fe1959fc9fb53
T

216 lines
12 KiB
Plaintext
Raw Normal View History

2019-09-29 19:40:54 -04:00
í2019.2.4f1þÿÿÿÿÿ’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_Namespacelp\ày¯Ð¼xYÝ-O´ñYùœ¿5DPackages/com.unity.timeline/Editor/inspectors/TrackAssetInspector.csày¯TrackAssetInspector4//#define PERF_PROFILE
using System.Linq;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
namespace UnityEditor.Timeline
{
[CustomEditor(typeof(TrackAsset), true, isFallback = true)]
[CanEditMultipleObjects]
class TrackAssetInspector : Editor
{
class TrackCurvesWrapper : ICurvesOwnerInspectorWrapper
{
public ICurvesOwner curvesOwner { get; }
public SerializedObject serializedPlayableAsset { get; }
public int lastCurveVersion { get; set; }
public double lastEvalTime { get; set; }
public TrackCurvesWrapper(TrackAsset track)
{
lastCurveVersion = -1;
lastEvalTime = -1;
if (track != null)
{
curvesOwner = track;
serializedPlayableAsset = new SerializedObject(track);
}
}
public double ToLocalTime(double time)
{
return time;
}
}
TrackCurvesWrapper m_TrackCurvesWrapper;
SerializedProperty m_Name;
bool m_IsBuiltInType;
Texture m_HeaderIcon;
protected TimelineWindow timelineWindow
{
get
{
return TimelineWindow.instance;
}
}
bool IsTimelineValid()
{
return timelineWindow != null && timelineWindow.state != null;
}
protected bool IsTrackLocked()
{
if (!IsTimelineValid())
return false;
return targets.Any(track => ((TrackAsset)track).lockedInHierarchy || timelineWindow.state.editSequence.isReadOnly);
}
public override void OnInspectorGUI()
{
using (new EditorGUI.DisabledScope(IsTrackLocked()))
{
DrawInspector();
}
}
internal override bool IsEnabled()
{
if (!IsTimelineValid())
return false;
var sequence = timelineWindow.state.editSequence;
return sequence != null && !sequence.isReadOnly && base.IsEnabled();
}
internal override void OnHeaderTitleGUI(Rect titleRect, string header)
{
serializedObject.Update();
Rect textFieldRect = titleRect;
textFieldRect.height = 16f;
using (new GUIMixedValueScope(m_Name.hasMultipleDifferentValues))
{
TimelineWindow seqWindow = TimelineWindow.instance;
if (IsTrackLocked())
{
base.OnHeaderTitleGUI(titleRect, m_Name.stringValue);
}
else
{
EditorGUI.BeginChangeCheck();
string newName = EditorGUI.DelayedTextField(textFieldRect, m_Name.stringValue, EditorStyles.textField);
if (EditorGUI.EndChangeCheck() && !string.IsNullOrEmpty(newName))
{
for (int c = 0; c < targets.Length; c++)
{
ObjectNames.SetNameSmart(targets[c], newName);
}
if (seqWindow != null)
seqWindow.Repaint();
}
serializedObject.ApplyModifiedProperties();
}
}
}
internal override void OnHeaderIconGUI(Rect iconRect)
{
if (TimelineWindow.instance == null)
return;
using (new EditorGUI.DisabledScope(IsTrackLocked()))
{
if (m_HeaderIcon != null)
GUI.Label(iconRect, GUIContent.Temp(m_HeaderIcon));
}
}
internal override void DrawHeaderHelpAndSettingsGUI(Rect r)
{
using (new EditorGUI.DisabledScope(IsTrackLocked()))
{
var helpSize = EditorStyles.iconButton.CalcSize(EditorGUI.GUIContents.helpIcon);
const int kTopMargin = 5;
// Show Editor Header Items.
EditorGUIUtility.DrawEditorHeaderItems(new Rect(r.xMax - helpSize.x, r.y + kTopMargin, helpSize.x, helpSize.y), targets);
}
}
public virtual void OnEnable()
{
m_IsBuiltInType = target != null && target.GetType().Assembly == typeof(TrackAsset).Assembly;
m_Name = serializedObject.FindProperty("m_Name");
m_TrackCurvesWrapper = new TrackCurvesWrapper(target as TrackAsset);
m_HeaderIcon = TrackResourceCache.s_DefaultIcon.image;
// only worry about the first track. if types are different, a different inspector is used.
var track = target as TrackAsset;
if (track != null)
{
var drawer = CustomTimelineEditorCache.GetTrackEditor(track);
UnityEngine.Object binding = null;
var director = m_Context as PlayableDirector;
if (director != null)
binding = director.GetGenericBinding(track);
var options = drawer.GetTrackOptions(track, binding);
if (options.icon != null)
m_HeaderIcon = options.icon;
else
m_HeaderIcon = TrackResourceCache.GetTrackIcon(track).image;
}
}
void DrawInspector()
{
if (serializedObject == null)
return;
CurvesOwnerInspectorHelper.PreparePlayableAsset(m_TrackCurvesWrapper);
serializedObject.Update();
using (var changeScope = new EditorGUI.ChangeCheckScope())
{
DrawTrackProperties();
if (changeScope.changed)
{
serializedObject.ApplyModifiedProperties();
ApplyChanges();
}
}
}
protected virtual void DrawTrackProperties()
{
var property = serializedObject.GetIterator();
var expanded = true;
while (property.NextVisible(expanded))
{
// Don't draw script field for built-in types
if (m_IsBuiltInType && "m_Script" == property.propertyPath)
continue;
EditorGUILayout.PropertyField(property, !expanded);
expanded = false;
}
}
protected virtual void ApplyChanges()
{
TimelineEditor.Refresh(RefreshReason.ContentsModified);