private void Check(UiNode node) { switch (node.Type) { case UiNodeType.Group: case UiNodeType.Directory: case UiNodeType.Archive: { foreach (UiNode child in node.GetChilds()) Check(child); break; } case UiNodeType.FileTable: { if (PathComparer.Instance.Value.Equals(node.Name, @"system.win32.xgr") || node.Name.StartsWith("tutorial")) foreach (UiNode child in node.GetChilds()) Check(child); break; } case UiNodeType.ArchiveLeaf: { UiArchiveLeaf leaf = (UiArchiveLeaf)node; string extension = PathEx.GetMultiDotComparableExtension(leaf.Entry.Name); switch (extension) { case ".ztr": if (leaf.Entry.Name.Contains("_us")) leaf.IsChecked = true; break; } break; } case UiNodeType.FileTableLeaf: { UiWpdTableLeaf leaf = (UiWpdTableLeaf)node; switch (leaf.Entry.Extension) { case "wfl": case "txbh": leaf.IsChecked = true; break; } break; } } }