Alexandria.Platforms.Wii.NintendoOpticalDiscPartition.LoadFile C# (CSharp) Method

LoadFile() static private method

static private LoadFile ( FolderAsset parent, BinaryReader reader, int &index, NintendoOpticalDiscSystem system ) : Asset
parent Glare.Assets.FolderAsset
reader System.IO.BinaryReader
index int
system NintendoOpticalDiscSystem
return Asset
        internal static Asset LoadFile(FolderAsset parent, BinaryReader reader, ref int index, NintendoOpticalDiscSystem system)
        {
            int nameOffset = reader.ReadInt32();
            bool isDirectory = (nameOffset & 0xFF000000) != 0;
            nameOffset &= 0xFFFFFF;

            if (isDirectory)
                return new NintendoOpticalDiscPartitionFolder(parent, ref index, nameOffset, reader, system);
            else
                return new NintendoOpticalDiscPartitionFile(parent, index++, nameOffset, reader, system);
        }

Usage Example

Esempio n. 1
0
        internal NintendoOpticalDiscPartitionFolder(FolderAsset parent, ref int index, int nameOffset, BinaryReader reader, NintendoOpticalDiscSystem system)
            : base(parent, "")
        {
            Index      = index;
            NameOffset = nameOffset;
            int firstIndex = reader.ReadInt32();

            /*if (firstIndex != index + 1)
             *      throw new InvalidDataException();*/
            int endIndex = reader.ReadInt32();

            index++;
            while (index < endIndex)
            {
                NintendoOpticalDiscPartition.LoadFile(this, reader, ref index, system);
            }
        }