/// <summary> /// Recursively builds the tree of records for the given record using the given node. /// </summary> /// <param name="p_plgPlugin">The <see cref="Plugin" /> for which to build a record tree.</param> /// <param name="p_recRecord">The <see cref="Rec" /> for which to build a record tree.</param> /// <param name="p_tndNode">The <see cref="TreeNode" /> at which to build the record tree.</param> private void WalkPluginTree(CriticalRecordPlugin p_crpPlugin, Rec p_recRecord, TreeNode p_tndNode) { if (p_recRecord.Name.Equals("TES4")) { return; } TreeNode tndSubNode; if (p_recRecord is Record) { tndSubNode = new TreeNode(String.Format("{0:x8}: {1}", ((Record)p_recRecord).FormID, p_recRecord.DescriptiveName)); if (p_crpPlugin.IsRecordCritical(((Record)p_recRecord).FormID)) { tndSubNode.BackColor = Color.Red; } } else { tndSubNode = new TreeNode(p_recRecord.DescriptiveName); } tndSubNode.Tag = p_recRecord; if (p_recRecord is GroupRecord) { foreach (var recSubRecord in ((GroupRecord)p_recRecord).Records) { WalkPluginTree(p_crpPlugin, recSubRecord, tndSubNode); } } p_tndNode.Nodes.Add(tndSubNode); }
/// <summary> /// Recursively builds the tree of records for the given record using the given node. /// </summary> /// <param name="p_plgPlugin">The <see cref="Plugin"/> for which to build a record tree.</param> /// <param name="p_recRecord">The <see cref="Rec"/> for which to build a record tree.</param> /// <param name="p_tndNode">The <see cref="TreeNode"/> at which to build the record tree.</param> private void WalkPluginTree(CriticalRecordPlugin p_crpPlugin, Rec p_recRecord, TreeNode p_tndNode) { if (p_recRecord.Name.Equals("TES4")) return; TreeNode tndSubNode = null; if (p_recRecord is Record) { tndSubNode = new TreeNode(String.Format("{0:x8}: {1}", ((Record)p_recRecord).FormID, p_recRecord.DescriptiveName)); if (p_crpPlugin.IsRecordCritical(((Record)p_recRecord).FormID)) tndSubNode.BackColor = Color.Red; } else tndSubNode = new TreeNode(p_recRecord.DescriptiveName); tndSubNode.Tag = p_recRecord; if (p_recRecord is GroupRecord) foreach (Rec recSubRecord in ((GroupRecord)p_recRecord).Records) WalkPluginTree(p_crpPlugin, recSubRecord, tndSubNode); p_tndNode.Nodes.Add(tndSubNode); }