Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }