Exemplo n.º 1
0
            private void RefreshLocalInfos()
            {
                var infos         = AssetStoreUtils.instance.GetLocalPackageList();
                var oldLocalInfos = m_LocalInfos;

                m_LocalInfos = new Dictionary <string, AssetStoreLocalInfo>();
                foreach (var info in infos)
                {
                    var parsedInfo = AssetStoreLocalInfo.ParseLocalInfo(info);
                    var id         = parsedInfo?.id;
                    if (string.IsNullOrEmpty(id))
                    {
                        continue;
                    }

                    var oldInfo = oldLocalInfos.Get(id);
                    if (oldInfo != null)
                    {
                        oldLocalInfos.Remove(oldInfo.id);

                        if (oldInfo.versionId == parsedInfo.versionId &&
                            oldInfo.versionString == parsedInfo.versionString &&
                            oldInfo.packagePath == parsedInfo.packagePath)
                        {
                            m_LocalInfos[id] = oldInfo;
                            continue;
                        }
                    }

                    m_LocalInfos[id] = parsedInfo;
                    OnLocalInfoChanged(parsedInfo);
                }

                foreach (var info in oldLocalInfos.Values)
                {
                    OnLocalInfoRemoved(info);
                }
            }
Exemplo n.º 2
0
        private void RefreshLocalInfos()
        {
            var infos = m_AssetStoreUtils.GetLocalPackageList();

            m_AssetStoreCache.SetLocalInfos(infos.Select(info => AssetStoreLocalInfo.ParseLocalInfo(info)));
        }