Beispiel #1
0
 public TesCellMain(TesFileReader fr) : base(fr, false)
 {
     while (!fr.EOF)
     {
         Subs.Add(new TesCellMainSub(fr.GetGroup()));
     }
     OutputItems.Add(Subs);
 }
Beispiel #2
0
 public TesCellSubBlock(TesFileReader fr) : base(fr, false)
 {
     while (!fr.EOF)
     {
         Cells.Add(new TesRecordCell(fr.GetCell()));
     }
     OutputItems.Add(Cells);
 }
Beispiel #3
0
 public TesCellBlock(TesFileReader fr) : base(fr, false)
 {
     while (!fr.EOF)
     {
         SubBlocks.Add(new TesCellSubBlock(fr.GetGroup()));
     }
     OutputItems.Add(SubBlocks);
 }
Beispiel #4
0
 public TesWorldspace(TesFileReader fr) : base(fr, false)
 {
     while (!fr.EOF)
     {
         Records.Add(new TesRecordWorldspace(fr.GetCell()));
     }
     OutputItems.Add(Records);
 }
Beispiel #5
0
        public TesGroup(TesFileReader fr, bool readRecord = true)
        {
            GRUP     = new TesString(fr);
            DataSize = new TesUInt32(fr);
            OutputItems.Add(GRUP);
            OutputItems.Add(DataSize);

            //グループタイプ別
            uint type = fr.GetUInt32(4, false);

            switch (type)
            {
            case 0:
                Signature = new TesString(fr);
                OutputItems.Add(Signature);
                break;

            case 1:
            case 6:
            case 8:
            case 9:
                FormID = new TesUInt32(fr);
                OutputItems.Add(FormID);
                break;

            case 2:
            case 3:
                Index = new TesUInt32(fr);
                OutputItems.Add(Index);
                break;

            case 4:
            case 5:
                Grid = new TesCellGrid(fr);
                OutputItems.Add(Grid);
                break;

            default:
                throw new Exception();
            }
            GroupType = new TesUInt32(fr);
            Other     = new TesBytes(fr.GetBytes(8));
            OutputItems.Add(GroupType);
            OutputItems.Add(Other);

            if (readRecord)
            {
                while (!fr.EOF)
                {
                    Records.Add(new TesRecord(fr.GetRecord()));
                }
            }
            OutputItems.Add(Records);
        }