public bool CanBuildADock() { var houseCount = _worldPlane .GetBlocksWithHouses() .Count(blockWithHouse => blockWithHouse.GetOccupantHouse()); if (houseCount < 1) { return(false); } var docks = _worldPlane.GetBlocksWithDocks().Count(); if (docks > 0) { var docksToHouseRatio = (float)Mathf.Max(docks, 1) / (float)houseCount; if (docksToHouseRatio > .1f) { return(false); } } return(true); }