/** * Add links between the given block and all the blocks it is in-contact with. */ protected void LinkBlock(GameObject editorBlock) { Block block = editorBlock.GetComponent <Block>(); // Find all the pips on the game object and check for collisions with other pips. // If we find any then we are linked to the blocks that own those pips. foreach (var feedbackCollider in feedbackBlock.GetComponentsInChildren <PipCollider>()) { var otherPip = feedbackCollider.GetOtherPip(); if (otherPip == null) { continue; } var otherBlock = otherPip.GetComponentInParent <Block>(); if (otherBlock == null) { continue; } block.AddLink(otherBlock); otherBlock.AddLink(block); } }