private static Dictionary <string, object> ToSerializable(AssetsInfo source) { var dict = new Dictionary <string, object>(); var assets = new List <object>(); dict["assets"] = assets; foreach (var asset in source.Assets) { if (asset is SpriteAsset spriteAsset) { assets.Add(new Dictionary <string, object> { { "type", SpriteAsset.TypeString }, { "hash", ToSerializable(spriteAsset.Hash) }, { "userdata", ToSerializable(spriteAsset.UserData) }, { "file", ToSerializable(spriteAsset.FileName) }, }); } else { throw new NotSupportedException($"Asset type {asset} is not supported"); } } return(dict); }
public AkyuiLoader(string filePath) { _zipFile = ZipFile.Open(filePath, ZipArchiveMode.Read, Encoding.UTF8); _fileName = ""; foreach (var e in _zipFile.Entries) { if (Path.GetFileName(e.Name) == "layout.json") { _fileName = Path.GetDirectoryName(e.FullName); } } LayoutInfo = LoadLayoutInfo(); AssetsInfo = LoadAssetsInfo(); }
public AkyuiLoader(string filePath) { _zipFile = new ZipFile(filePath); _fileName = ""; foreach (ZipEntry e in _zipFile) { if (Path.GetFileName(e.Name) == "layout.json") { _fileName = Directory.GetParent(e.Name).Name; } } LayoutInfo = LoadLayoutInfo(); AssetsInfo = LoadAssetsInfo(); }