瀏覽代碼

Berechnungsbug Oversupply obwohl noch andere Gebäubde die Energy
gebraucht haben - Fix

tolatesry 7 年之前
父節點
當前提交
ee58f2092f
共有 1 個文件被更改,包括 6 次插入4 次删除
  1. 6 4
      src/ui/controller/SimulationManager.java

+ 6 - 4
src/ui/controller/SimulationManager.java

@@ -278,15 +278,17 @@ public class SimulationManager {
 						//supplyFullytillEnd ... because its cant be fully supplied 
 						for(HolonObject hO : singleSubNet.getObjects())
 						{
-							float neededEnergy = -hO.getCurrentEnergyAtTimeStep(x);
-							if(neededEnergy < 0)continue; //Producer
+							
+							float actualSupplyEnergy = hO.getCurrentSupply();
+							float neededEnergy = -hO.getCurrentEnergyAtTimeStep(x) - actualSupplyEnergy;
+							if(neededEnergy <= 0)continue; //Producer or No EnergyNeeded
 							if(neededEnergy <= currentProduction)
 							{
-								hO.setCurrentSupply(neededEnergy+hO.getCurrentSupply());
+								hO.setCurrentSupply(neededEnergy+actualSupplyEnergy);
 								currentProduction -= neededEnergy;
 							}else
 							{
-								hO.setCurrentSupply(currentProduction+hO.getCurrentSupply());
+								hO.setCurrentSupply(currentProduction+actualSupplyEnergy);
 								currentProduction = 0;
 								break;
 							}