Пример #1
0
        public DataCenter(string fileName)
        {
            DataCenterSegmentedRegion attributeRegion;
            DataCenterSegmentedRegion elementRegion;
            DataCenterSegmentedRegion nameRegion;
            DataCenterSimpleRegion    nameAddressRegion;

            using (var reader = new TeraBinaryReader(File.OpenRead(fileName)))
            {
                Header = ReadHeader(reader);

                ReadRegions(reader, out attributeRegion, out elementRegion,
                            out _stringRegion, out nameRegion, out nameAddressRegion);

                Footer = ReadFooter(reader);
            }

            Attributes = attributeRegion;
            Elements   = elementRegion;
            Names      = ReadAddresses(nameAddressRegion)
                         .Select(x => ReadString(nameRegion, x))
                         .ToArray();

            Root = new DataCenterElement(this, DataCenterAddress.Zero);
        }
Пример #2
0
        public void Reset()
        {
            if (IsDisposed)
            {
                throw new ObjectDisposedException(GetType().FullName);
            }

            if (IsFrozen)
            {
                throw new InvalidOperationException("Data center is frozen.");
            }

            Root = new DataCenterElement(this, DataCenterAddress.Zero);
        }
Пример #3
0
 public DataCenter(uint version)
 {
     Header = new DataCenterHeader(0, 0, 0, version, 0, 0, 0, 0);
     Footer = new DataCenterFooter(0);
     Root   = new DataCenterElement(this, DataCenterAddress.Zero);
 }