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); }