示例#1
0
    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));
    }