Assembly.Metro.Controls.PageTemplates.Games.Components.MetaData.MetaReader.ReadField C# (CSharp) Method

ReadField() private method

private ReadField ( Assembly.Metro.Controls.PageTemplates.Games.Components.MetaData.MetaField field ) : void
field Assembly.Metro.Controls.PageTemplates.Games.Components.MetaData.MetaField
return void
        private void ReadField(MetaField field)
        {
            // Update the field's memory address
            var valueField = field as ValueField;
            if (valueField != null)
            {
                valueField.FieldAddress = BaseOffset + valueField.Offset;
                if (_type == LoadType.File)
                    valueField.FieldAddress = _cache.MetaArea.OffsetToPointer((int) valueField.FieldAddress);
            }

            // Read its contents if it hasn't changed (or if change detection is disabled)
            if (_ignoredFields == null || !_ignoredFields.HasChanged(field))
                field.Accept(this);

            // If it's a reflexive, read its children
            var reflexive = field as ReflexiveData;
            if (reflexive != null)
                ReadReflexiveChildren(reflexive);
        }