示例#1
0
 public double powerSupply(ORSX_ResourceSupplier pm, double power)
 {
     powersupply   += (power / TimeWarp.fixedDeltaTime);
     stable_supply += (power / TimeWarp.fixedDeltaTime);
     if (power_supplies.ContainsKey(pm))
     {
         power_supplies[pm] += (power / TimeWarp.fixedDeltaTime);
     }
     else
     {
         power_supplies.Add(pm, (power / TimeWarp.fixedDeltaTime));
     }
     return(power);
 }
示例#2
0
        public double managedPowerSupplyWithMinimum(ORSX_ResourceSupplier pm, double power, double rat_min)
        {
            double power_seconds_units     = power / TimeWarp.fixedDeltaTime;
            double power_min_seconds_units = power_seconds_units * rat_min;
            double managed_supply_val_add  = Math.Min(power_seconds_units,
                                                      Math.Max(getCurrentUnfilledResourceDemand() + getSpareResourceCapacity() / TimeWarp.fixedDeltaTime,
                                                               power_min_seconds_units));

            powersupply   += managed_supply_val_add;
            stable_supply += power_seconds_units;
            if (power_supplies.ContainsKey(pm))
            {
                power_supplies[pm] += (power / TimeWarp.fixedDeltaTime);
            }
            else
            {
                power_supplies.Add(pm, (power / TimeWarp.fixedDeltaTime));
            }
            return(managed_supply_val_add * TimeWarp.fixedDeltaTime);
        }
示例#3
0
 public float powerSupplyFixedMax(ORSX_ResourceSupplier pm, float power, float maxpower)
 {
     return((float)powerSupplyFixedMax(pm, power, (double)maxpower));
 }
示例#4
0
 public float powerSupply(ORSX_ResourceSupplier pm, float power)
 {
     return((float)powerSupply(pm, (double)power));
 }
示例#5
0
 public float managedPowerSupplyWithMinimum(ORSX_ResourceSupplier pm, float power, float rat_min)
 {
     return((float)managedPowerSupplyWithMinimum(pm, power, (double)rat_min));
 }
示例#6
0
 public float managedPowerSupply(ORSX_ResourceSupplier pm, float power)
 {
     return(managedPowerSupplyWithMinimum(pm, power, 0));
 }
示例#7
0
 public double managedPowerSupply(ORSX_ResourceSupplier pm, double power)
 {
     return(managedPowerSupplyWithMinimum(pm, power, 0));
 }
示例#8
0
 public float powerSupplyFixedMax(ORSX_ResourceSupplier pm, float power, float maxpower)
 {
     return (float) powerSupplyFixedMax(pm, power, (double) maxpower);
 }
示例#9
0
 public double powerSupplyFixedMax(ORSX_ResourceSupplier pm, double power, double maxpower)
 {
     powersupply += (power/TimeWarp.fixedDeltaTime);
     stable_supply += (maxpower/TimeWarp.fixedDeltaTime);
     if (power_supplies.ContainsKey(pm))
     {
         power_supplies[pm] += (power/TimeWarp.fixedDeltaTime);
     }
     else
     {
         power_supplies.Add(pm, (power/TimeWarp.fixedDeltaTime));
     }
     return power;
 }
示例#10
0
 public float powerSupply(ORSX_ResourceSupplier pm, float power)
 {
     return (float) powerSupply(pm, (double) power);
 }
示例#11
0
 public double managedPowerSupplyWithMinimum(ORSX_ResourceSupplier pm, double power, double rat_min)
 {
     double power_seconds_units = power/TimeWarp.fixedDeltaTime;
     double power_min_seconds_units = power_seconds_units*rat_min;
     double managed_supply_val_add = Math.Min(power_seconds_units,
         Math.Max(getCurrentUnfilledResourceDemand() + getSpareResourceCapacity()/TimeWarp.fixedDeltaTime,
             power_min_seconds_units));
     powersupply += managed_supply_val_add;
     stable_supply += power_seconds_units;
     if (power_supplies.ContainsKey(pm))
     {
         power_supplies[pm] += (power/TimeWarp.fixedDeltaTime);
     }
     else
     {
         power_supplies.Add(pm, (power/TimeWarp.fixedDeltaTime));
     }
     return managed_supply_val_add*TimeWarp.fixedDeltaTime;
 }
示例#12
0
 public float managedPowerSupplyWithMinimum(ORSX_ResourceSupplier pm, float power, float rat_min)
 {
     return (float) managedPowerSupplyWithMinimum(pm, power, (double) rat_min);
 }
示例#13
0
 public double managedPowerSupply(ORSX_ResourceSupplier pm, double power)
 {
     return managedPowerSupplyWithMinimum(pm, power, 0);
 }
示例#14
0
 public float managedPowerSupply(ORSX_ResourceSupplier pm, float power)
 {
     return managedPowerSupplyWithMinimum(pm, power, 0);
 }