A­2018.1.6f1ţ˙˙˙˙˙’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 ˙˙ŢšőRkVc}­j˘9Ź­;Ę7€˙˙˙˙€Ś€˛€ Ő€ ހ#€.€,€†€Ä€ ހ#€.€,€H€Ť€˙˙˙˙€1€1€˙˙˙˙ @ހ€ Q€j€ ń€5˙˙˙˙ €1€1€˙˙˙˙ €ހ€€j€˙˙˙˙€G›€˙˙˙˙€H€]˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€H€b˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€H€k˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€y€ € ހ#€.€,€Ő€p˙˙˙˙ €1€1€˙˙˙˙!Ŕހ€"€j€˙˙˙˙#€H€›€˙˙˙˙$€1€1€˙˙˙˙%@ހ€&Q€j€'y€ € (ހ#)€.€,*€ €„+@ž€“ ,@ހ#-€.€,.€H€˜˙˙˙˙/€1€1€˙˙˙˙0@ހ€1Q€j€2H€Ł˙˙˙˙3€1€1€˙˙˙˙4@ހ€5Q€j€6H€ľ˙˙˙˙7€1€1€˙˙˙˙8@ހ€9Q€j€:MonoImporterPPtrm_FileIDm_PathIDm_ExternalObjectsSourceAssetIdentifiertypeassemblynamem_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariants˙˙˙8-l'€Łć„hŒÎA,Œ€7€˙˙˙˙€Ś€˛€Ő€ ހ€.€€†€Ä€ ހ€.€€H€Ť€˙˙˙˙€1€1€˙˙˙˙ @ހ€ Q€j€ H€ę€˙˙˙˙ €1€1€˙˙˙˙ @ހ€Q€j€ń€(˙˙˙˙€1€1€˙˙˙˙€ހ€€j€˙˙˙˙€H€›€˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€y€ € ހ€.€€y€< ހ€.€€ހCH€T˙˙˙˙€1€1€˙˙˙˙ @ހ€!Q€j€"H€`˙˙˙˙#€1€1€˙˙˙˙$@ހ€%Q€j€&H€l˙˙˙˙'€1€1€˙˙˙˙(@ހ€)Q€j€*L€{+PPtrm_FileIDm_PathIDm_DefaultReferencesm_Iconm_ExecutionOrderm_ClassNamem_Namespacem_AssemblyNamem_IsEditorScriptppDŕyŻ¸ő gC:ćő”Đ;œĎú”gRJGPackages/com.unity.package-manager-ui/Editor/Sources/UI/PackageGroup.cs PackageGroupT using System; using System.Linq; using UnityEngine.Experimental.UIElements; using UnityEngine; namespace UnityEditor.PackageManager.UI { internal class PackageGroupFactory : UxmlFactory { protected override PackageGroup DoCreate(IUxmlAttributes bag, CreationContext cc) { return new PackageGroup(bag.GetPropertyString("name")); } } internal class PackageGroup : VisualElement { private readonly VisualElement root; private bool collapsed; private readonly VisualElement listElement; internal readonly PackageGroupOrigins Origin; public PackageGroup previousGroup; public PackageGroup nextGroup; public PackageItem firstPackage; public PackageItem lastPackage; public PackageGroup(string groupName) { name = groupName; root = Resources.Load("Templates/PackageGroup").CloneTree(null); Add(root); listElement = List; #if UNITY_2018_2_OR_NEWER Header.AddManipulator(new Clickable(ToggleCollapse)); #else List.style.marginLeft = 0; Header.style.height = 0; #endif if (string.IsNullOrEmpty(groupName) || groupName != PackageGroupOrigins.BuiltInPackages.ToString()) { HeaderTitle.text = "Packages"; Origin = PackageGroupOrigins.Packages; SetCollapsed(false); } else { HeaderTitle.text = "Built In Packages"; Origin = PackageGroupOrigins.BuiltInPackages; SetCollapsed(true); } } public void SetCollapsed(bool value) { Caret.text = value ? "\u25B6" : "\u25BC"; if (value == collapsed) return; if (value) List.RemoveFromHierarchy(); else ListContainer.Add(listElement); collapsed = value; } private void ToggleCollapse() { SetCollapsed(!Collapsed); } internal PackageItem AddPackage(Package package) { var packageItem = new PackageItem(package) {packageGroup = this}; var lastItem = listElement.Children().LastOrDefault() as PackageItem; if (lastItem != null) { lastItem.nextItem = packageItem; packageItem.previousItem = lastItem; packageItem.nextItem = null; } listElement.Add(packageItem); if (firstPackage == null) firstPackage = packageItem; lastPackage = packageItem; return packageItem; } private VisualElement List { get { return root.Q("groupContainer"); } } private VisualElement ListContainer { get { return root.Q("groupContainerOuter"); } } private VisualElement Header { get { return root.Q("headerContainer"); } } private Label HeaderTitle { get { return root.Q