public BlocksGroup(BlocksGroup old) { Blocks = old.Blocks.ConvertAll(i => new Block(i)); Version = old.Version; Role = old.Role; Group = old.Group; }
public void UpdateBlocksGroups() { blocksGroups = new List <BlocksGroup>(); foreach (var pair in blocksDict) { Block b = pair.Value; if (b.Type >= 0) { b.Position = pair.Key; BlocksGroup group = blocksGroups.FirstOrDefault(i => i.Role == b.Role && i.Group == b.Group); if (group == null) { group = new BlocksGroup(b.Role, b.Group); blocksGroups.Add(group); } group.Blocks.Add(b); } } }