public void Initialize(JSONValue json)
            {
                if (json.ContainsKey("title"))
                {
                    title = json["title"].AsString();
                }

                if (json.ContainsKey("id"))
                {
                    id = json["id"].AsString();
                }

                if (json.ContainsKey("version"))
                {
                    version = json["version"].AsString();
                }

                if (json.ContainsKey("version_id"))
                {
                    version_id = json["version_id"].AsString();
                }

                if (json.ContainsKey("local_icon"))
                {
                    local_icon = json["local_icon"].AsString();
                }

                if (json.ContainsKey("local_path"))
                {
                    local_path = json["local_path"].AsString();
                }

                if (json.ContainsKey("pubdate"))
                {
                    pubdate = json["pubdate"].AsString();
                }

                if (json.ContainsKey("description"))
                {
                    description = json["description"].AsString();
                }

                if (json.ContainsKey("publisher"))
                {
                    publisher = new LabelAndId();
                    publisher.Initialize(json["publisher"]);
                }

                if (json.ContainsKey("category"))
                {
                    category = new LabelAndId();
                    category.Initialize(json["category"]);
                }

                if (json.ContainsKey("link"))
                {
                    link = new Link();
                    link.Initialize(json["link"]);
                }
            }
        public PackageList GetPackageList()
        {
            Dictionary <string, Package> dictionary = new Dictionary <string, Package>();

            PackageInfo[] packageList = PackageInfo.GetPackageList();
            foreach (PackageInfo info in packageList)
            {
                Package package = new Package();
                if (info.jsonInfo == "")
                {
                    package.title = Path.GetFileNameWithoutExtension(info.packagePath);
                    package.id    = info.packagePath;
                    if (this.IsBuiltinStandardAsset(info.packagePath))
                    {
                        LabelAndId id = new LabelAndId {
                            label = "Unity Technologies",
                            id    = "1"
                        };
                        package.publisher = id;
                        id = new LabelAndId {
                            label = "Prefab Packages",
                            id    = "4"
                        };
                        package.category = id;
                        package.version  = "3.5.0.0";
                    }
                }
                else
                {
                    JSONValue json = JSONParser.SimpleParse(info.jsonInfo);
                    if (json.IsNull())
                    {
                        continue;
                    }
                    package.Initialize(json);
                    if (package.id == null)
                    {
                        JSONValue value3 = json.Get("link.id");
                        if (!value3.IsNull())
                        {
                            package.id = value3.AsString();
                        }
                        else
                        {
                            package.id = info.packagePath;
                        }
                    }
                }
                package.local_icon = info.iconURL;
                package.local_path = info.packagePath;
                if (((!dictionary.ContainsKey(package.id) || (dictionary[package.id].version_id == null)) || (dictionary[package.id].version_id == "-1")) || (((package.version_id != null) && (package.version_id != "-1")) && (int.Parse(dictionary[package.id].version_id) <= int.Parse(package.version_id))))
                {
                    dictionary[package.id] = package;
                }
            }
            Package[] packageArray = dictionary.Values.ToArray <Package>();
            return(new PackageList {
                results = packageArray
            });
        }
Esempio n. 3
0
 public PackageList GetPackageList()
 {
     Dictionary<string, Package> dictionary = new Dictionary<string, Package>();
     foreach (PackageInfo info in PackageInfo.GetPackageList())
     {
         Package package = new Package();
         if (info.jsonInfo == string.Empty)
         {
             package.title = Path.GetFileNameWithoutExtension(info.packagePath);
             package.id = info.packagePath;
             if (this.IsBuiltinStandardAsset(info.packagePath))
             {
                 LabelAndId id = new LabelAndId {
                     label = "Unity Technologies",
                     id = "1"
                 };
                 package.publisher = id;
                 id = new LabelAndId {
                     label = "Prefab Packages",
                     id = "4"
                 };
                 package.category = id;
                 package.version = "3.5.0.0";
             }
         }
         else
         {
             JSONValue json = JSONParser.SimpleParse(info.jsonInfo);
             if (json.IsNull())
             {
                 continue;
             }
             package.Initialize(json);
             if (package.id == null)
             {
                 JSONValue value3 = json.Get("link.id");
                 if (!value3.IsNull())
                 {
                     package.id = value3.AsString();
                 }
                 else
                 {
                     package.id = info.packagePath;
                 }
             }
         }
         package.local_icon = info.iconURL;
         package.local_path = info.packagePath;
         if (((!dictionary.ContainsKey(package.id) || (dictionary[package.id].version_id == null)) || (dictionary[package.id].version_id == "-1")) || (((package.version_id != null) && (package.version_id != "-1")) && (int.Parse(dictionary[package.id].version_id) <= int.Parse(package.version_id))))
         {
             dictionary[package.id] = package;
         }
     }
     Package[] packageArray = dictionary.Values.ToArray<Package>();
     return new PackageList { results = packageArray };
 }