public PssgAttribute AddAttribute(PssgNode parentNode, int attributeID, object data)
{
if (parentNode == null)
{
return null;
}
if (parentNode.attributes == null)
{
parentNode.attributes = new Dictionary<string, PssgAttribute>();
}
else if (parentNode.HasAttribute(attributeID))
{
parentNode[attributeID].data = data;
return parentNode[attributeID];
}
else if (parentNode.attributes.ContainsKey(attributeInfo[attributeID - 1].name))
{
return null;
}
PssgAttribute newAttr = new PssgAttribute(attributeID, data, this, parentNode);
parentNode.attributes.Add(newAttr.Name, newAttr);
return newAttr;
}