/// <summary>
/// Updates the specified context.
/// </summary>
/// <param name="context">The context.</param>
/// <param name="decoder">The decoder.</param>
/// <param name="attibutesToLoad">The attributes to load.</param>
public override void Update(ISystemContext context, BinaryDecoder decoder, AttributesToSave attibutesToLoad)
{
base.Update(context, decoder, attibutesToLoad);
if ((attibutesToLoad & AttributesToSave.Value) != 0)
{
WrappedValue = decoder.ReadVariant(null);
}
if ((attibutesToLoad & AttributesToSave.DataType) != 0)
{
m_dataType = decoder.ReadNodeId(null);
}
if ((attibutesToLoad & AttributesToSave.ValueRank) != 0)
{
m_valueRank = decoder.ReadInt32(null);
}
if ((attibutesToLoad & AttributesToSave.ArrayDimensions) != 0)
{
UInt32Collection arrayDimensions = decoder.ReadUInt32Array(null);
if (arrayDimensions != null && arrayDimensions.Count > 0)
{
m_arrayDimensions = new ReadOnlyList<uint>(arrayDimensions);
}
else
{
m_arrayDimensions = null;
}
}
}