//	public GameObject GetDecorationForHeight(float height){
//		List<GameObject> decos = new List<GameObject>();
//		for(int i = 0 ; i < _decorations.Length ; i++){
//			LXFMLDecoration deco = _decorations[i].GetComponent<LXFMLDecoration>();
//			if(deco.height <= height ){
//				decos.Add(_decorations[i]);
//			}
//		}
//		if(decos.Count == 0)
//			return null;
//		return decos[Random.Range(0,decos.Count)];
//	}

    public List <int> GetAvailableBricksForFootprint(Vector4 footprint, int pDesignID)
    {
        List <int> availBricks = new List <int>();

        int width  = (int)(footprint.x + footprint.y) + 1;
        int height = (int)(footprint.z + footprint.w) + 1;

        foreach (KeyValuePair <int, GameObject> brick in _prefabsLookup)
        {
            int designId = brick.Key;
            if (LXFMLHelper.GetBrickHeight(designId) <= height && LXFMLHelper.GetBrickWidth(designId) <= width && designId != pDesignID && !(LXFMLHelper.IsSpecial2By1Brick(designId)) && !(LXFMLHelper.Is2By1Brick(designId) && LXFMLHelper.Is2By1Brick(pDesignID)))
            {
                availBricks.Add(brick.Key);
            }
        }

        return(availBricks);
    }