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); }
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); }
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); }