diff --git a/WolvenKit/Forms/frmChunkList.cs b/WolvenKit/Forms/frmChunkList.cs index ecff62be..619d3e20 100644 --- a/WolvenKit/Forms/frmChunkList.cs +++ b/WolvenKit/Forms/frmChunkList.cs @@ -86,34 +86,17 @@ private void UpdateHelperList() File.GenerateChunksDict(); - var dParentids = new Dictionary(); - if (viewModel.chunkDisplayMode == CR2WDocumentViewModel.EChunkDisplayMode.Parent) - { - dParentids = File.chunks.ToDictionary(_ => _.ChunkIndex, _ => _.ParentChunkIndex); - } - else if (viewModel.chunkDisplayMode == CR2WDocumentViewModel.EChunkDisplayMode.VirtualParent) - { - dParentids = File.chunks.ToDictionary(_ => _.ChunkIndex, _ => _.VirtualParentChunkIndex); - } - foreach (var chunk in File.chunks) { - var childrenidxlist = dParentids.Where(_ => _.Value == chunk.ChunkIndex).Select(_ => _.Key); - - IEnumerable enumerable = childrenidxlist as int[] ?? childrenidxlist.ToArray(); - if (enumerable.Any()) + if (viewModel.chunkDisplayMode == CR2WDocumentViewModel.EChunkDisplayMode.Parent) { - List children = enumerable.Select(childid => File.chunksdict[childid]).ToList(); - childrenDict.Add(chunk.ChunkIndex, children); - - var c = children.Count; - childrencountDict.Add(chunk.ChunkIndex, c); + childrenDict.Add(chunk.ChunkIndex, chunk.ChildrenChunks); + childrencountDict.Add(chunk.ChunkIndex, chunk.ChildrenChunks.Count); } - else + else if (viewModel.chunkDisplayMode == CR2WDocumentViewModel.EChunkDisplayMode.VirtualParent) { - childrenDict.Add(chunk.ChunkIndex, new List()); - childrencountDict.Add(chunk.ChunkIndex, 0); - + childrenDict.Add(chunk.ChunkIndex, chunk.VirtualChildrenChunks); + childrencountDict.Add(chunk.ChunkIndex, chunk.VirtualChildrenChunks.Count); } }