Пример #1
0
        public static (bool completed, string message) ApplyUpgrade(ChipDigger digger, DiggerUpgradeItem item)
        {
            if (item is ChipsHopperUpgradeItem)
            {
                var testResult = TestHopperUpgrade(digger, item as ChipsHopperUpgradeItem);
                if (!testResult.passed)
                {
                    return(testResult);
                }

                digger.UpgradeHopper(((ChipsHopperUpgradeItem)item).GetUpgrade());
                return(true, "Hopper upgraded to Large_Hopper");
            }

            if (item is BitUpgradeItem)
            {
                var testResult = TestBitUpgrade(digger, item as BitUpgradeItem);
                if (!testResult.passed)
                {
                    return(testResult);
                }

                digger.UpgradeBit(((BitUpgradeItem)item).GetUpgrade());
            }

            return(true, "Upgrade Applied");
        }