Ejemplo n.º 1
0
    public GridIndex[] GetOccupiedindizes(Enums.RoomSizes roomSize, GridIndex leftMostIndex)
    {
        if (leftMostIndex == null)
        {
            throw new ArgumentNullException("leftMostIndex");
        }

        GridIndex[] Occupiedindizes;

        if (roomSize == Enums.RoomSizes.Size1)
        {
            Occupiedindizes = new GridIndex[] { new GridIndex(leftMostIndex), leftMostIndex.GetBack() }
        }
        ;
        else
        {
            Occupiedindizes = leftMostIndex.GetLeft().GetRight((int)roomSize);
        }

        return(Occupiedindizes);
    }
Ejemplo n.º 2
0
    void CheckLeftRightBuildingPositions(GridIndex index, Enums.RoomSizes roomSize, ref List <GridIndex> indexList)
    {
        // Left check
        GridIndex[] indizes = index.GetLeft((int)roomSize);
        if (GridIndex.IsValid(indizes) && IsGridAreaFree(indizes))
        {
            if (indexList.Contains(indizes[0]) == false)
            {
                indexList.Add(indizes[0]);
            }
        }

        // Right check
        indizes = index.GetRight((int)roomSize);
        if (GridIndex.IsValid(indizes) && IsGridAreaFree(indizes))
        {
            if (indexList.Contains(indizes[0]) == false)
            {
                indexList.Add(indizes[0]);
            }
        }
    }