Alexandria.Engines.Sciagi.Resources.PictureInstruction.DrawPatterns.ReadPositions C# (CSharp) Метод

ReadPositions() статический приватный Метод

static private ReadPositions ( Stream stream, PictureOpcode opcode, PicturePatternFlags patternFlags, byte &patternNumber ) : List
stream Stream
opcode PictureOpcode
patternFlags PicturePatternFlags
patternNumber byte
Результат List
            static List<PicturePatternDrawLocation> ReadPositions(Stream stream, PictureOpcode opcode, PicturePatternFlags patternFlags, ref byte patternNumber)
            {
                List<PicturePatternDrawLocation> list = new List<PicturePatternDrawLocation>();
                Vector2i position;

                ReadPatternNumber(stream, patternFlags, ref patternNumber);
                position = ReadAbsoluteCoordinates(stream);
                list.Add(new PicturePatternDrawLocation(patternNumber, position));

                while (PeekContinue(stream)) {
                    ReadPatternNumber(stream, patternFlags, ref patternNumber);

                    switch (opcode) {
                        case PictureOpcode.DrawRelativePatterns: position = ReadShortRelativeCoordinates(stream, position); break;
                        case PictureOpcode.DrawAbsolutePatterns: position = ReadAbsoluteCoordinates(stream); break;
                        case PictureOpcode.DrawRelativeMediumPatterns: position = ReadMediumRelativeCoordinates(stream, position); break;
                        default: throw new NotSupportedException();
                    }
                    list.Add(new PicturePatternDrawLocation(patternNumber, position));
                }
                return list;
            }
PictureInstruction.DrawPatterns