public reflexiveData[] loadReflexivesList(reflexiveData parentReflexive, int metaOffset, object[] items)
{
List<reflexiveData> rds = new List<reflexiveData>();
foreach (object o in items)
{
if (o is IFPIO.Reflexive)
{
IFPIO.Reflexive IFPR = (IFPIO.Reflexive)o;
reflexiveData rd = new reflexiveData(parentReflexive);
rd.node = new TreeNode(IFPR.name);
rd.node.Name = rd.node.Text;
rd.node.Tag = rd;
rd.reflexive = IFPR;
rd.chunkSelected = 0;
// Add if non-existant, otherwise update Text
if (rd.inTagNumber == meta.TagIndex)
rd.children = loadReflexivesList(rd, meta.offset + rd.baseOffset + rd.chunkSelected * rd.reflexive.chunkSize, IFPR.items);
else
rd.children = loadReflexivesList(rd, rd.baseOffset + rd.chunkSelected * rd.reflexive.chunkSize, IFPR.items);
rds.Add(rd);
}
}
return rds.ToArray();
}