示例#1
0
 public ExteriorChunkPerson(ExteriorChunkArea area, int index, BinaryReader reader)
     : base(area, index, reader)
 {
     TextureIndex = new TextureIndex(reader.ReadUInt16());
     FactionIndex = new FactionIndex(reader.ReadUInt16());
     Unknowns.Add(reader.ReadByte());
 }
示例#2
0
        internal Building(Exterior exterior, ExteriorBlock block, int index, BinaryReader reader)
            : base(((StateObject)block ?? exterior).State)
        {
            Exterior = exterior;
            Block    = block;
            Index    = index;

            NameSeed = reader.ReadUInt16();
            reader.ReadZeroes(16);
            FactionId = new FactionIndex(reader.ReadUInt16());
            Sector    = reader.ReadInt16();
            var locationId = reader.ReadUInt16();

            if (exterior != null && locationId != exterior.Id)
            {
                throw new Exception();
            }
            if (exterior == null && locationId != 0)
            {
                throw new Exception();
            }
            Type    = (BuildingType)reader.ReadByte();
            Quality = reader.ReadByte();
        }