示例#1
0
        public static void Setup()
        {
            var    data = File.ReadAllBytes(Consts.AppDir_Shared + "id_store.json");
            string json = Encoding.UTF8.GetString(data);

            SciterValue sv = SciterValue.FromJSONString(json);

            foreach (var sv_pack in sv.AsEnumerable())
            {
                var pack = new StorePack()
                {
                    id      = sv_pack["id"].Get(""),
                    name    = sv_pack["name"].Get(""),
                    author  = sv_pack["author"].Get(""),
                    url     = sv_pack["url"].Get(""),
                    icons   = new List <Icon>(),
                    colored = sv_pack["colored"].Get(false)
                };
                Debug.Assert(pack.name != "" && pack.author != "" && pack.url != "");
                pack.sv = pack.ToSV();

                foreach (var sv_file in sv_pack["files"].AsEnumerable())
                {
                    string filename = sv_file.Get("");
                    string hash     = Utils.CalculateMD5Hash($"Store-{pack.id}-{filename}");
                    pack.icons.Add(new Icon()
                    {
                        kind     = EIconKind.STORE,
                        hash     = hash,
                        path     = Consts.DirUserData_Store + pack.id + "/" + filename,
                        source   = pack.sv,
                        colored  = pack.colored,
                        arr_tags = new List <string>()
                        {
                            filename
                        }
                    });
                }

                _store_packs.Add(pack);
            }

            Utils.Shuffle(_store_packs);
        }