public static BaseBlock LoadBlockFromXml(XmlElement element, BlockEditor blockEditor) { GCommand command = BlockUtils.LoadGCommand(element); ObjectCallBlock block = new ObjectCallBlock(command); XmlNodeList elementList = element.SelectNodes("Holes/Hole"); for (int i = 0; i < block.HoleList.Count; i++) { BlockUtils.ConnectToHole(block.HoleList[i], LoadBlock(elementList[i].SelectSingleNode("Block") as XmlElement, blockEditor)); } return(block); }
public static BaseBlock LoadBlockFromXml(XmlElement element, BlockEditor blockEditor) { GCommand command = BlockUtils.LoadGCommand(element); VoidCallBlock block = new VoidCallBlock(command); XmlNodeList elementList = element.SelectNodes("Holes/Hole"); var holeList = block.HoleList.Where(e => !(e is NextConnectHole)); for (int i = 0; i < holeList.Count(); i++) { BlockUtils.ConnectToHole(block.HoleList[i], LoadBlock(elementList[i].SelectSingleNode("Block") as XmlElement, blockEditor)); } return(block); }