private VoxelVisualComponent GetHorizontalNeighbor(GroundPoint parallelPoint, GroundPoint perpendicularPoint) { GroundPoint basePoint = Core.GroundPoint; GroundEdge dividingEdge = Quad.GetEdge(basePoint, perpendicularPoint); if (dividingEdge.IsBorder) { return(null); } GroundQuad neighborQuad = dividingEdge.Quads.First(quad => quad != Quad); GroundPoint neighborDiagonal = neighborQuad.GetDiagonalPoint(basePoint); GroundPoint moneyPoint = neighborQuad.Points.First(point => point != perpendicularPoint && point != neighborDiagonal); return(moneyPoint.Voxels[Core.Height].Visuals.GetComponent(neighborQuad, OnTopHalf)); }