コード例 #1
0
        private (LayoutInfo, AssetsInfo) Create(XdArtboard xdArtboard, XdAssetHolder assetHolder, string name, Dictionary <string, string> userData)
        {
            var renderer = new XdRenderer(xdArtboard, assetHolder, _objectParsers, _groupParsers, _triggers);

            var layoutInfoForCalcHash = new LayoutInfo(
                name,
                0,
                renderer.Meta,
                new Dictionary <string, string>(),
                renderer.Root,
                renderer.Elements.ToArray()
                );
            var hash = FastHash.CalculateHash(JsonConvert.SerializeObject(AkyuiCompressor.ToSerializable(layoutInfoForCalcHash)));

            var layoutInfo = new LayoutInfo(
                name,
                hash,
                renderer.Meta,
                userData,
                renderer.Root,
                renderer.Elements.ToArray()
                );

            var assetsInfo = new AssetsInfo(
                renderer.Assets.ToArray()
                );

            return(layoutInfo, assetsInfo);
        }
コード例 #2
0
ファイル: XdImporter.cs プロジェクト: unitycoder/AkyuiUnity
 private static void ExportAkyui(XdImportSettings xdSettings, List <IAkyuiLoader> loaders, AkyuiLogger logger)
 {
     if (!string.IsNullOrWhiteSpace(xdSettings.AkyuiOutputPath))
     {
         foreach (var loader in loaders)
         {
             using (logger.SetCategory(loader.LayoutInfo.Name))
             {
                 var bytes      = AkyuiCompressor.Compress(loader);
                 var outputPath = Path.Combine(xdSettings.AkyuiOutputPath, loader.LayoutInfo.Name + ".aky");
                 File.WriteAllBytes(outputPath, bytes);
                 logger.Log($"Export Akyui");
             }
         }
     }
 }
コード例 #3
0
ファイル: XdImporter.cs プロジェクト: studentutu/AkyuiUnity
 private static void ExportAkyui(XdImportSettings xdSettings, List <IAkyuiLoader> loaders, AkyuiLogger logger)
 {
     if (!string.IsNullOrWhiteSpace(xdSettings.AkyuiOutputPath))
     {
         var stopWatch = Stopwatch.StartNew();
         foreach (var loader in loaders)
         {
             using (logger.SetCategory(loader.LayoutInfo.Name))
             {
                 var bytes      = AkyuiCompressor.Compress(loader);
                 var outputPath = Path.Combine(xdSettings.AkyuiOutputPath, loader.LayoutInfo.Name + ".aky");
                 File.WriteAllBytes(outputPath, bytes);
             }
         }
         stopWatch.Stop();
         logger.Log($"Export Akyui", ("Time", $"{stopWatch.Elapsed.TotalSeconds:0.00}s"));
     }
 }
コード例 #4
0
ファイル: Importer.cs プロジェクト: potkpot/AkyuiUnity
        public static void Save(IAkyuiLoader loader, string filePath)
        {
            var bytes = AkyuiCompressor.Compress(loader);

            File.WriteAllBytes(filePath, bytes);
        }