protected override void LoadContent()
        {
            Queue <AnimationSet> animations = new Queue <AnimationSet>();

            ImageBundleManager imageBundleManager =
                new ImageBundleManager(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "textures.rcru"),
                                       MagicNumbers.Textures, GraphicsDevice);

            Console.WriteLine(imageBundleManager.GetStatistics());

            imageBundleManager.DebugEmitImages(GraphicsDevice);

            //using (FileStream fileStream = File.OpenRead(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "animations.rcru")))
            //{
            //    for (int index = 0; index < MagicNumbers.Animations.Length; ++index)
            //    {
            //        if (fileStream.ReadByte() != MagicNumbers.Animations[index])
            //            throw new Exception("Animations package is corrupt");
            //    }
            //    using (BinaryReader br = new BinaryReader(new GZipStream(fileStream, CompressionMode.Decompress, true)))
            //    {
            //        int num = br.ReadInt32();
            //        for (int index = 0; index < num; ++index)
            //        {
            //            string str = br.ReadString();

            //            Console.WriteLine($"Read AnimationSet: {str}");

            //            animations.Enqueue(new AnimationSet(new AnimationDeserializeContext(br, imageBundleManager.GetBundle(str), GraphicsDevice)));
            //        }
            //    }
            //}

            //while (animations.Count != 0)
            //{
            //    var animationSet = animations.Dequeue();

            //    Console.WriteLine($"Extract AnimationSet: {animationSet.friendlyName}");

            //    foreach (var cel in animationSet.AllCels())
            //    {
            //        Console.WriteLine($"Export AnimationCelSpriteTexture: {cel.friendlyName}");

            //        cel.spriteRef.ResolveRequire().texture.SaveAsPng(File.Create(cel.friendlyName + ".png"),
            //            cel.spriteRef.ResolveRequire().texture.Width,
            //            cel.spriteRef.ResolveRequire().texture.Height);
            //    }
            //}

            Window.Title = "Export Finish.";
            this.EndRun();
        }
示例#2
0
 public static void Deserialize(DeserializeContext context, BinaryReader br, ref ImageBundleManager value)
 {
     throw new InvalidOperationException();
 }
示例#3
0
 public static void Serialize(SerializeContext context, BinaryWriter bw, ImageBundleManager value)
 {
     throw new InvalidOperationException();
 }