I am attempting to pull all the Panel options out that would fit in the Final length and put them into a list.
for(var PanelOption in PanelWidthOptions.reversed){
if(PanelOption == FinalLength[i+1]){
var panelwidth = int.parse(FinalLength[i+1]) - int.parse(PanelOption);
FinalLength[i+1] = (int.parse(FinalLength[i+1]) - int.parse(PanelOption)).toString();
print(PanelOption);
}else{
if((int.parse(FinalLength[i+1]) - int.parse(PanelOption)) % 1 == 0 && int.parse(FinalLength[i+1]) - int.parse(PanelOption) >= 8){
var panelwidth = int.parse(FinalLength[i+1]) - int.parse(PanelOption);
FinalLength[i+1] = (int.parse(FinalLength[i+1]) - int.parse(PanelOption)).toString();
print(PanelOption);
// CalculatedWalls.add();
}
}
}
But there is cases where 2 of the same panel widths might be able to be used. How would I reset the for loop to make sure all indexes are ran again?
FULL METHOD:
CalculateLowestCost(){
for(var i = 0; i < Walls.length - 1 ; i++){
if(SelectedOptions.length > 0){
for(var l = 0; l < SelectedOptions.length; l++){
if(ActualWalls[i] == SelectedWalls[l]){
FinalLength[i+1] = (int.parse(FinalLength[i+1]) - int.parse(SelectedWidths[l])).toString();
}
for(var PanelOption in PanelWidthOptions.reversed){
if((int.parse(FinalLength[i+1]) - int.parse(PanelOption)) % 1 == 0 && int.parse(FinalLength[i+1]) - int.parse(PanelOption) >= 8){
var panelwidth = int.parse(FinalLength[i+1]) - int.parse(PanelOption);
FinalLength[i+1] = (int.parse(FinalLength[i+1]) - int.parse(PanelOption)).toString();
print(PanelOption);
// CalculatedWalls.add();
}
}
}
}else{
for(var PanelOption in PanelWidthOptions.reversed){
if(PanelOption == FinalLength[i+1]){
var panelwidth = int.parse(FinalLength[i+1]) - int.parse(PanelOption);
FinalLength[i+1] = (int.parse(FinalLength[i+1]) - int.parse(PanelOption)).toString();
print(PanelOption);
}else{
if((int.parse(FinalLength[i+1]) - int.parse(PanelOption)) % 1 == 0 && int.parse(FinalLength[i+1]) - int.parse(PanelOption) >= 8){
var panelwidth = int.parse(FinalLength[i+1]) - int.parse(PanelOption);
FinalLength[i+1] = (int.parse(FinalLength[i+1]) - int.parse(PanelOption)).toString();
print(PanelOption);
// CalculatedWalls.add();
}
}
}
}
}
}