entity.MetaEditor2.MetaEditorControlPage.loadReflexivesList C# (CSharp) Method

loadReflexivesList() public method

Uses recursion to create a structured reflexiveData listing. Call "refreshReflexiveList()" afterwards.
public loadReflexivesList ( reflexiveData parentReflexive, int metaOffset, object items ) : entity.MetaEditor2.reflexiveData[]
parentReflexive reflexiveData The starting reflexive to start at. (Usually "MAIN")
metaOffset int The offset to the meta
items object IFPIO item listing
return entity.MetaEditor2.reflexiveData[]
        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();
        }