private TreeNode RecurrsiveSearch(int id)
{
Hash source = Project.Data.MapInfos;
var mapInfo = source[id] as MapInfo;
if (mapInfo != null)
{
var node = new TreeNode
{
Name = id.ToString(),
ImageIndex = 1,
SelectedImageIndex = 1,
Text = mapInfo.name,
Tag = mapInfo
};
foreach (MapInfo info in source.Values)
{
int childId = source.GetKey(info);
if (info.parent_id == id && !_skipIds.Contains(childId))
{
_skipIds.Add(childId);
node.Nodes.Add(RecurrsiveSearch(childId));
}
}
return node;
}
return null;
}