Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        private TestEnergyConverter _calcEnergyConverter(TestPriceBase defaultPrice, int level, bool premium)
        {
            var ec = new TestEnergyConverter(level, _calcBuildPrice(defaultPrice, level, premium));;

            ec.CalcConvertLosesMod();

            return(ec);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
        }