private TestShipyard _calcShipyard(TestPriceBase defaultPrice, int level, bool premium) { var buildCostUpdateModifer = 1.05; var price = new TestShipyard(level, _calcBuildPrice(defaultPrice, level, premium));; price.CalcSpeed(premium, buildCostUpdateModifer); return(price); }
private TestEnergyConverter _calcEnergyConverter(TestPriceBase defaultPrice, int level, bool premium) { var ec = new TestEnergyConverter(level, _calcBuildPrice(defaultPrice, level, premium));; ec.CalcConvertLosesMod(); return(ec); }
private TestExtraction _calcExtraction(TestPriceBase defaultPrice, int level, bool premium) { var buildCostUpdateModifer = 1.17; var price = new TestExtraction(level, _calcBuildPrice(defaultPrice, level, premium));; price.CalcPower(premium, buildCostUpdateModifer); return(price); }
private TestTechPrice _createTestTechPrice(double timeProduction, int level, TestPriceBase basePrice) { basePrice.TimeProductionInSecond = timeProduction; basePrice.SetCcPrice(); var price = _calcBuildPrice(basePrice, level, false, 1.03); var techPrice = new TestTechPrice(level, price); return(techPrice); }
public TechFactoryParams(Dictionary <string, List <TestTech> > inst, List <int> levels, string techName, double timeProduction, TestStats baseStats, TestPriceBase basePrice) { Inst = inst; Levels = levels; TechName = techName; TimeProduction = timeProduction; BaseStats = baseStats; BasePrice = basePrice; }
private TestStorage _calcStorage(TestPriceBase defaultPrice, int level, bool premium) { var buildCostUpdateModifer = 1.17; var storage = new TestStorage(level, _calcBuildPrice(defaultPrice, level, premium));; storage.CalcMaxStorable(premium, buildCostUpdateModifer); storage.CalcTransferLoses(premium); return(storage); }
public void TestCalcEnergyConverter() { var levels = _createLevels(50); var basePrice = new TestPriceBase(4000, 1000, 2000); basePrice.TimeProductionInSecond = 320;//1200 basePrice.SetCcPrice(); _logItem("EnergyConverter", levels, (level, hasPremium) => _calcEnergyConverter(basePrice, level, hasPremium)); Assert.IsTrue(true); }
public void TestCalcStorage() { var levels = _createLevels(50); var basePrice = new TestPriceBase(100, 100, 50); basePrice.TimeProductionInSecond = 600; basePrice.SetCcPrice();//55 _logItem("Storage", levels, (level, hasPremium) => _calcStorage(basePrice, level, hasPremium)); Assert.IsTrue(true); }
public void TestCalcShipyardProduction() { var levels = _createLevels(20); var basePrice = new TestPriceBase(1000, 5000, 3000); basePrice.TimeProductionInSecond = 14400; basePrice.SetCcPrice();// 2600 _logItem("Shipyard", levels, (level, hasPremium) => _calcShipyard(basePrice, level, hasPremium)); Assert.IsTrue(true); }
private List <TestEnergyConverter> _createEnergyConverterLevelList(int maxLevel, bool hasPremium) { var levels = _createLevels(maxLevel); var basePrice = new TestPriceBase(1000, 500, 2500); basePrice.TimeProductionInSecond = 320; basePrice.SetCcPrice(); var result = levels.Select(level => _calcEnergyConverter(basePrice, level, hasPremium)).ToList(); return(result); }
private List <TestStorage> _createStoragedLevelList(int maxLevel, bool hasPremium) { var levels = _createLevels(maxLevel); var basePrice = new TestPriceBase(100, 200, 50); basePrice.TimeProductionInSecond = 600; basePrice.SetCcPrice();//55 var result = levels.Select(level => _calcStorage(basePrice, level, hasPremium)).ToList(); return(result); }
private List <TestShipyard> _createShipyardLevelList(int maxLevel, bool hasPremium) { var levels = _createLevels(maxLevel); var basePrice = new TestPriceBase(1000, 5000, 3000); basePrice.TimeProductionInSecond = 14400; basePrice.SetCcPrice(); var result = levels.Select(level => _calcShipyard(basePrice, level, hasPremium)).ToList(); return(result); }
private List <TestExtraction> _createExtractionLevelList(int maxLevel, bool hasPremium) { var levels = _createLevels(maxLevel); var basePrice = new TestPriceBase(200, 200, 0); basePrice.TimeProductionInSecond = 900; basePrice.SetCcPrice();//60 var result = levels.Select(level => _calcExtraction(basePrice, level, hasPremium)).ToList(); return(result); }
public void TestExtractionModulePrice() { var levels = _createLevels(50); var basePrice = new TestPriceBase(200, 200, 0); basePrice.TimeProductionInSecond = 900; //3600 basePrice.SetCcPrice(); //60 _logItem("Extraction", levels, (level, hasPremium) => _calcExtraction(basePrice, level, hasPremium)); Assert.IsTrue(true); }
private TestPriceBase _calcBuildPrice(TestPriceBase defaultPrice, int level, bool premium, double buildCostUpdateModifer = 1.17) { var timeMod = 1.0; var priceMod = 1.0; var multiplePrice = 1.0; var multipleTime = 1.0; var multipleCc = 1.0; var timeProductionMod = 1.0; if (premium) { priceMod = 1.0; timeMod = 0.5; } if (level <= 1) { var df = new TestPriceBase(defaultPrice); df.Cc = defaultPrice.Cc; df.TimeProductionInSecond *= timeMod; return(df); } if (level > 1) { multiplePrice = level - (0.2 * level); multipleTime = level; multipleCc = level - (0.3 * level); timeProductionMod = Math.Pow(buildCostUpdateModifer, multipleTime); } var e = defaultPrice.E > 0? Math.Floor(defaultPrice.E * Math.Pow(buildCostUpdateModifer, multiplePrice) * priceMod):0; var ir = defaultPrice.Ir > 0 ? Math.Floor(defaultPrice.Ir * Math.Pow(buildCostUpdateModifer, multiplePrice) * priceMod) : 0; var dm = defaultPrice.Dm > 0 ? Math.Floor(defaultPrice.Dm * Math.Pow(buildCostUpdateModifer, multiplePrice) * priceMod) : 0; var cc = defaultPrice.Cc > 0 ? Math.Floor(Math.Pow(buildCostUpdateModifer, multipleCc) * defaultPrice.Cc) : 0; var time = defaultPrice.TimeProductionInSecond > 0?(int)Math.Ceiling(defaultPrice.TimeProductionInSecond * timeProductionMod * timeMod):0; var price = new TestPriceBase(e, ir, dm); price.Cc = cc; price.TimeProductionInSecond = time; return(price); }