Alexandria.Engines.DarkSouls.TextureArchiveRecord.Load C# (CSharp) Метод

Load() защищенный Метод

Load the texture. This may be stored in a special format; otherwise it is DDS.
protected Load ( ) : Asset
Результат Asset
        protected override Asset Load()
        {
            if (Archive.Platform == DSPlatform.PS3) {
                using (var stream = Open()) {
                    Texture2D texture = new Texture2D();
                    Format format = Ps3Format;
                    Vector2i dimensions = Ps3Dimensions;
                    byte[] data = new byte[format.AlignedByteSize(dimensions)];

                    for (int level = 0; ; level++) {
                        TextureLevel2D textureLevel = texture.Surface.Levels[level];
                        int size = format.AlignedByteSize(dimensions);

                        stream.Read(data, 0, size);
                        textureLevel.DataCompressed(format, dimensions, data);

                        if (dimensions == Vector2i.One)
                            break;
                        dimensions.X = Math.Max(1, (dimensions.X + 1) / 2);
                        dimensions.Y = Math.Max(1, (dimensions.Y + 1) / 2);
                    }

                    return new TextureAsset(Manager, Name, texture);
                }
            } else
                return base.Load();
        }