コード例 #1
0
    private List <int[]> GetSurroundingTypeCoords(LevelTemplate levelTemplate, int[] coords, RoomTemplate.RoomType roomType)
    {
        List <int[]> surroundingAvailableCoords = new List <int[]>();

        int[][] surroundingCoords = GetSurroundingCoords(coords);
        foreach (int[] surroundingCoord in surroundingCoords)
        {
            if (levelTemplate.IsInside(surroundingCoord) && levelTemplate.GetMap(surroundingCoord).GetRoomType() == roomType)
            {
                surroundingAvailableCoords.Add(surroundingCoord);
            }
        }
        return(surroundingAvailableCoords);
    }
コード例 #2
0
    private List <RoomTemplate> GetPotentialConnectRooms(LevelTemplate levelTemplate, int[] coords, int[] previousCoords)
    {
        List <RoomTemplate> potentialRooms = new List <RoomTemplate>();

        int[][] surroundingCoords = GetSurroundingCoords(coords);
        foreach (int[] surroundingCoord in surroundingCoords)
        {
            if (surroundingCoord != previousCoords && levelTemplate.IsInside(surroundingCoord))
            {
                RoomTemplate surroundingRoom = levelTemplate.GetMap(surroundingCoord);
                if (surroundingRoom.GetRoomType() == RoomTemplate.RoomType.MAIN || surroundingRoom.GetRoomType() == RoomTemplate.RoomType.OFFSHOOT)
                {
                    potentialRooms.Add(surroundingRoom);
                }
            }
        }
        return(potentialRooms);
    }