AtelierElieScripter.DialogueChoices.DialogueChoicesModule.InitializeBlock C# (CSharp) Метод

InitializeBlock() приватный Метод

Initialize Choice Main Block
private InitializeBlock ( uint pointer, BinaryReader file, int mainBlockNo ) : void
pointer uint Pointer to Choices
file System.IO.BinaryReader File
mainBlockNo int Main Block No
Результат void
        void InitializeBlock(uint pointer, BinaryReader file, int mainBlockNo)
        {
            // Seek to Choices Position
            pointer -= (RAMOFFSET);

            string[] textArray = new string[5];
            uint textPointer;
            int blockNo = 0;

            // Seek to Start of choices blocks

            while (true)
            {
                textArray = new string[5];
                file.BaseStream.Seek(pointer, SeekOrigin.Begin);

                if (file.BaseStream.Position == file.BaseStream.Length)
                    break;

                textPointer = Lib.Tools.GetPointerFromFile(file);
                if (textPointer < 0x8014B700 || textPointer > 0x80170000)
                    break;
                textArray[0] = Lib.Tools.GetTextFromFile(textPointer, RAMOFFSET, file);

                for (int i = 1; i < 5; i++)
                {
                    file.BaseStream.Seek(pointer + (i * 4), SeekOrigin.Begin);

                    textPointer = Lib.Tools.GetPointerFromFile(file);
                    if (textPointer != 0)
                        textArray[i] = Lib.Tools.GetTextFromFile(textPointer, RAMOFFSET, file);
                }

                pointer += 0x4 * 0x5;

                mainBlocks[mainBlockNo][blockNo] = new DialogueChoicesEntry(textArray);
                blockNo += 1;

            }
        }