public void RecalculateBuildRates() { VABRates.Clear(); SPHRates.Clear(); double rate = 0.1; int index = 0; // These loops could clean up a little, is it intended to add a rate=0 in the loop as the last entry? while (rate > 0) { rate = MathParser.ParseBuildRateFormula(BuildListVessel.ListType.VAB, index, this); if (rate >= 0) { VABRates.Add(rate); } index++; } rate = 0.1; index = 0; while (rate > 0) { rate = MathParser.ParseBuildRateFormula(BuildListVessel.ListType.SPH, index, this); if (rate >= 0) { SPHRates.Add(rate); } index++; } var m = StringBuilderCache.Acquire(); m.AppendLine("VAB Rates:"); foreach (double v in VABRates) { m.AppendLine($"{v}"); } m.AppendLine("SPH Rates:"); foreach (double v in SPHRates) { m.AppendLine($"{v}"); } KCTDebug.Log(m.ToStringAndRelease()); }
public void RecalculateBuildRates() { VABRates.Clear(); SPHRates.Clear(); double rate = 0.1; int index = 0; while (rate > 0) { rate = MathParser.ParseBuildRateFormula(BuildListVessel.ListType.VAB, index, this); if (rate >= 0) { VABRates.Add(rate); } index++; } rate = 0.1; index = 0; while (rate > 0) { rate = MathParser.ParseBuildRateFormula(BuildListVessel.ListType.SPH, index, this); if (rate >= 0) { SPHRates.Add(rate); } index++; } KCTDebug.Log("VAB Rates:"); foreach (double v in VABRates) { KCTDebug.Log(v); } KCTDebug.Log("SPH Rates:"); foreach (double v in SPHRates) { KCTDebug.Log(v); } }
public void RecalculateUpgradedBuildRates() { UpVABRates.Clear(); UpSPHRates.Clear(); double rate = 0.1; int index = 0; while (rate > 0) { rate = MathParser.ParseBuildRateFormula(BuildListVessel.ListType.VAB, index, this, true); if (rate >= 0 && (index == 0 || VABRates[index - 1] > 0)) { UpVABRates.Add(rate); } else { break; } index++; } rate = 0.1; index = 0; while (rate > 0) { rate = MathParser.ParseBuildRateFormula(BuildListVessel.ListType.SPH, index, this, true); if (rate >= 0 && (index == 0 || SPHRates[index - 1] > 0)) { UpSPHRates.Add(rate); } else { break; } index++; } }