A!a2018.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_IsEditorScript|€DŕyŻČ™O™âęTű "_ {ŻľQPackages/com.unity.package-manager-ui/Editor/Sources/Services/Packages/Package.csPackageţusing System; using System.Collections.Generic; using System.Linq; using UnityEngine; namespace UnityEditor.PackageManager.UI { // History of a single package internal class Package : IEquatable { internal const string packageManagerUIName = "com.unity.package-manager-ui"; private readonly string packageName; private readonly IEnumerable source; public Package(string packageName, IEnumerable infos) { if (string.IsNullOrEmpty(packageName)) throw new ArgumentException("Cannot be empty or null", "packageName"); if (!infos.Any()) throw new ArgumentException("Cannot be empty", "infos"); this.packageName = packageName; source = infos; } public PackageInfo Current { get { return Versions.FirstOrDefault(package => package.IsCurrent); } } public PackageInfo Latest { get { return Versions.FirstOrDefault(package => package.IsLatest) ?? Versions.LastOrDefault(); } } public IEnumerable Versions { get { return source.OrderBy(package => package.Version); } } public string Name { get { return packageName; } } public bool IsPackageManagerUI { get { return Name == packageManagerUIName; } } public bool Equals(Package other) { if (other == null) return false; return packageName == other.packageName; } public override int GetHashCode() { return packageName.GetHashCode(); } [SerializeField] public readonly OperationSignal AddSignal = new OperationSignal(); private Action OnAddOperationSuccessEvent; private Action OnAddOperationFinalizedEvent; public void Add(PackageInfo packageInfo) { if (packageInfo == Current) return; var operation = OperationFactory.Instance.CreateAddOperation(); OnAddOperationSuccessEvent = p => { PackageCollection.Instance.UpdatePackageCollection(true); }; OnAddOperationFinalizedEvent = () => { AddSignal.Operation = null; operation.OnOperationSuccess -= OnAddOperationSuccessEvent; operation.OnOperationFinalized -= OnAddOperationFinalizedEvent; }; operation.OnOperationSuccess += OnAddOperationSuccessEvent; operation.OnOperationFinalized += OnAddOperationFinalizedEvent; AddSignal.SetOperation(operation); operation.AddPackageAsync(packageInfo); } public void Update() { Add(Latest); } [SerializeField] public readonly OperationSignal RemoveSignal = new OperationSignal(); private Action OnRemoveOperationSuccessEvent; private Action OnRemoveOperationFinalizedEvent; public void Remove() { if (Current == null) return; var operation = OperationFactory.Instance.CreateRemoveOperation(); OnRemoveOperationSuccessEvent = () => { PackageCollection.Instance.UpdatePackageCollection(true); }; OnRemoveOperationFinalizedEvent = () => { RemoveSignal.Operation = null; operation.OnOperationSuccess -= OnRemoveOperationSuccessEvent; operation.OnOperationFinalized -= OnRemoveOperationFinalizedEvent; }; operation.OnOperationSuccess += OnRemoveOperationSuccessEvent; operation.OnOperationFinalized += OnRemoveOperationFinalizedEvent; RemoveSignal.SetOperation(operation); operation.RemovePackageAsync(Current); } } } PackageUnityEditor.PackageManager.UI!Unity.PackageManagerUI.Editor.dll