internal Enumerator(TextureCollection collection)
 {
     this.collection = collection;
     version         = collection.version;
     index           = 0;
     Current         = default;
 }
        /// <summary>
        /// テクスチャを使用できる形にする
        /// </summary>
        /// <returns>利用できる形のテクスチャのコレクション</returns>
        public TextureCollection OpenPackageTextures()
        {
            var array      = Textures.ToArray();
            var collection = new TextureCollection(array.Length);

            for (int i = 0; i < array.Length; i++)
            {
                collection.Add(TextureInfo.FromPackage(array[i]));
            }
            return(collection);
        }
        /// <summary>
        /// テクスチャをパッケージ化する
        /// </summary>
        /// <param name="textures">パッケージするテクスチャのコレクション</param>
        /// <exception cref="ArgumentNullException"><paramref name="textures"/>がnull</exception>
        /// <exception cref="IOException">ファイルのパッケージ化に失敗した</exception>
        /// <returns>パッケージされたテクスチャのコレクション</returns>
        private static BasicCollection <PackagedTexture2D> PackageTextures(TextureCollection textures)
        {
            Central.ThrowHelper.ThrowIfNull(textures);
            var array      = textures.ToTextureArray();
            var collection = new BasicCollection <PackagedTexture2D>(array.Length);

            for (int i = 1; i < array.Length; i++)
            {
                collection.Add(array[i].ToPackageTexture());
            }
            return(collection);
        }