Files
Magical-Jumping-Bean/Library/metadata/9b/9bc2b69915879416f8df18971dc98e2e
T

182 lines
12 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€j€H€wÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€H€€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€y€
€ Þ€#!€.€,"€€…ÿÿÿÿ#@1€1€ÿÿÿÿ$Þ€€%.€j€&Õ€“ÿÿÿÿ'€1€1€ÿÿÿÿ(ÀÞ€€)€j€ÿÿÿÿ*€H€›€ÿÿÿÿ+€1€1€ÿÿÿÿ,@Þ€€-Q€j€.y€
€ /Þ€#0€.€,1€ €§2@¾€¶ 3@Þ€#4€.€,5€H€»ÿÿÿÿ6€1€1€ÿÿÿÿ7@Þ€€8Q€j€9H€Æÿÿÿÿ:€1€1€ÿÿÿÿ;@Þ€€<Q€j€=H€Øÿÿÿÿ>€1€1€ÿÿÿÿ?@Þ€€@Q€j€AMonoImporterPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_ExternalObjectsSourceAssetIdentifiertypeassemblynamem_UsedFileIDsm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariantsÿÿ£Gñ×Ü�Z56 :!@iÁJ*�€7€ÿÿÿÿ€¦€²€E€ Þ€€.€€(a€ Þ€€.€€†€r€ Þ€ €.€
€H€«€ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€H€ê€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€ñ€=ÿÿÿÿ€1€1€ÿÿÿÿ€Þ€€€j€ÿÿÿÿ€H€›€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€y€
€ Þ€€.€€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¯ØX¹,k™QxIa�ý�yÑœèâIPackages/com.unity.timeline/Editor/Signals/TreeView/SignalReceiverItem.csày¯SignalReceiverItemÇusing System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor.IMGUI.Controls;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Timeline;
using Object = UnityEngine.Object;
namespace UnityEditor.Timeline.Signals
{
class SignalReceiverItem : TreeViewItem, ISignalAssetProvider
{
static readonly SignalEventDrawer k_EvtDrawer = new SignalEventDrawer();
readonly SerializedProperty m_Asset;
readonly SerializedProperty m_Evt;
readonly SignalReceiverTreeView m_TreeView;
int m_CurrentRowIdx;
SignalReceiver m_CurrentReceiver;
internal readonly bool enabled;
internal readonly bool readonlySignal;
internal const string SignalName = "SignalName";
internal const string SignalNameReadOnly = "SignalNameReadOnly";
internal const string SignalOptions = "SignalOptions";
public SignalReceiverItem(SerializedProperty signalAsset, SerializedProperty eventListEntry, int id, bool readonlySignal, bool enabled, SignalReceiverTreeView treeView)
: base(id, 0)
{
m_Asset = signalAsset;
m_Evt = eventListEntry;
this.enabled = enabled;
this.readonlySignal = readonlySignal;
m_TreeView = treeView;
}
public SignalAsset signalAsset
{
get { return m_CurrentReceiver.GetSignalAssetAtIndex(m_CurrentRowIdx); }
set
{
Undo.RegisterCompleteObjectUndo(m_CurrentReceiver, Styles.UndoCreateSignalAsset);
m_CurrentReceiver.ChangeSignalAtIndex(m_CurrentRowIdx, value);
}
}
public float GetHeight()
{
return k_EvtDrawer.GetPropertyHeight(m_Evt, GUIContent.none);
}
public void Draw(Rect rect, int colIdx, int rowIdx, float padding, SignalReceiver target)
{
switch (colIdx)
{
case 0:
DrawSignalNameColumn(rect, padding, target, rowIdx);
break;
case 1:
DrawReactionColumn(rect, rowIdx);
break;
default:
throw new ArgumentOutOfRangeException();
}
}
void DrawSignalNameColumn(Rect rect, float padding, SignalReceiver target, int rowIdx)
{
using (new EditorGUI.DisabledScope(!enabled))
{
if (!readonlySignal)
{
m_CurrentRowIdx = rowIdx;
m_CurrentReceiver = target;
rect.x += padding;
rect.width -= padding;
rect.height = EditorGUIUtility.singleLineHeight;
GUI.SetNextControlName(SignalName);
SignalUtility.DrawSignalNames(this, rect, GUIContent.none, false);
}
else
{
GUI.SetNextControlName(SignalNameReadOnly);
var signalAsset = m_Asset.objectReferenceValue;
GUI.Label(rect,
signalAsset != null
? EditorGUIUtility.TempContent(signalAsset.name)
: Styles.EmptySignalList);
}
}
}
void DrawReactionColumn(Rect rect, int rowIdx)
{
if (!readonlySignal)
{
var optionButtonSize = GetOptionButtonSize();
rect.width -= optionButtonSize.x;
var optionButtonRect = new Rect
{
x = rect.xMax,
y = rect.y,
width = optionButtonSize.x,
height = optionButtonSize.y
};
DrawOptionsButton(optionButtonRect, rowIdx, m_CurrentReceiver);
}
using (new EditorGUI.DisabledScope(!enabled))
{
var nameAsString = m_Asset.objectReferenceValue == null ? "Null" : m_Asset.objectReferenceValue.name;
using (var change = new EditorGUI.ChangeCheckScope())
{
EditorGUI.PropertyField(rect, m_Evt, EditorGUIUtility.TempContent(nameAsString));
if (change.changed)
m_TreeView.dirty = true;
}
}
}
static Vector2 GetOptionButtonSize()
{
EditorGUIUtility.SetIconSize(Vector2.zero);
return EditorStyles.iconButton.CalcSize(EditorGUI.GUIContents.titleSettingsIcon);
}
void DrawOptionsButton(Rect rect, int rowIdx, SignalReceiver target)
{
GUI.SetNextControlName(SignalOptions);
if (EditorGUI.DropdownButton(rect, EditorGUI.GUIContents.titleSettingsIcon, FocusType.Passive, EditorStyles.iconButton))
{
var menu = new GenericMenu();
menu.AddItem(new GUIContent(Styles.SignalListDuplicateOption), false, () =>
{
Undo.RegisterCompleteObjectUndo(target, "Duplicate Row");
var evtCloner = ScriptableObject.CreateInstance<UnityEventCloner>();
evtCloner.evt = target.GetReactionAtIndex(rowIdx);
var clone = Object.Instantiate(evtCloner);
target.AddEmptyReaction(clone.evt);
m_TreeView.dirty = true;
});
menu.AddItem(new GUIContent(Styles.SignalListDeleteOption), false, () =>
{
Undo.RegisterCompleteObjectUndo(target, "Delete Row");
target.RemoveAtIndex(rowIdx);
m_TreeView.dirty = true;
});
menu.ShowAsContext();
}
}
IEnumerable<SignalAsset> ISignalAssetProvider.AvailableSignalAssets()
{
var ret = SignalManager.assets.Except(m_CurrentReceiver.GetRegisteredSignals());
return signalAsset == null ? ret : ret.Union(new List<SignalAsset> {signalAsset}).ToList();
}
void ISignalAssetProvider.CreateNewSignalAsset(string path)
{
var newSignalAsset = SignalManager.CreateSignalAssetInstance(path);
m_CurrentReceiver.ChangeSignalAtIndex(m_CurrentRowIdx, newSignalAsset);
AssetDatabase.CreateAsset(newSignalAsset, path);
}
class UnityEventCloner : ScriptableObject
{
public UnityEvent evt;