public XmlGroup(string id, XmlMeshBlock[] blocks, XmlSplit[] splits, Track[] tracks, XmlJunction[] junctions, XmlSplitSide splitAttachment) { Id = id; Blocks = blocks; Splits = splits; Tracks = tracks; Junctions = junctions; SplitAttachment = splitAttachment; }
private MeshBlock ToMeshBlock(XmlMeshBlock xmlBlock, SplittedRegion splittedRegion, ref int count) { BlockBounds blockBounds = new BlockBounds(xmlBlock.Position, xmlBlock.Size); return new MeshBlock(xmlBlock.Id, xmlBlock.BlockType, blockBounds, splittedRegion, xmlBlock.Rotation, count += 1); }
public IEnumerable<MeshBlock> MaxXmlToDomain(XmlMeshBlock[] xmlBlocks, IList<Split> splits, IList<SplittedRegion> splittedRegions) { int occlusionCount = 0; IEnumerable<MeshBlock> unsplitMeshBlocks = xmlBlocks.Select(xBlock => ToMeshBlock(xBlock, null, ref occlusionCount)); return SplitMeshBlocks(unsplitMeshBlocks, splits, splittedRegions); }