Привет всем на DTF, я сейчас разрабатываю свою первую игру и столкнулся с проблемой на решение которой не могу найти ответ. Я хочу реализовать систему прокачки уровней как в кликерах и разных Idle играх, когда я прокачиваю уровень:• Тратится золото на покупку уровня• повышается уровень• повышается цена на покупку следующегоВсё это реализовано по формуле/коду: [SerializeField] private GameObject[] TargetObj; // отслеживаемый объект где все методы и хранятся общее число денег и произведённых ресурсов private Environment _actionTarget; // Присвоение компонента private float baseCost = 150f; // базовая цена покупки уровня private float newCost; // новая цена после применения формулы(смотреть ниже) private float multiplier = 1.13f; // множитель private int lvl = 0; // изменяемый уровень public void BuyLvl() // Прокачка уровня объекта { newCost = baseCost * Mathf.Pow(multiplier, lvl); // формула определения новой цены с учётом изменяющегося уровня. if (_actionTarget.CheckMoney(newCost) // Метод который проверяет наличие денег для покупки) { _actionTarget.BuyLvl(newCost); // метод, который вычитает цену из общего числа денег lvl++; // добавляет уровень maxQuantityOre += 7f; // увеличивает производство } else // если нет денег для покупки { print("Net Deneg"); } }Мне нужно как-то изменить данный метод, чтобы он мог покупать сразу несколько уровней с учётом изменяющейся цены при покупке каждого уровня. То есть нельзя просто взять цену и умножить в десять раз, так как он не учитывает изменение уровня.Множители будут:• Х1 — для разовой покупки• Х10 — для покупки 10 уровней• Х50 — для покупки 50 уровней• MAX — покупка максимально возможного количества уровней с учётом количества наличия денег. Как бы вы реализовали такую функцию в своём коде?Я использую C# и UnityПрилагаю картинки с похожей игры. Похожая прокачка есть в старой Tap Titans.
Решение "в лоб":
Спасибо за ваш код, я похожий почти реализовал но сталкивался с проблемами.
То есть нельзя просто взять цену и умножить в десять раз, так как он не учитывает изменение уровня.Сумма геометрической прогрессии, не?
Надо математику учить, чтобы быть программистом. Пойду учиться)
Комментарий недоступен
А каким образом вы хотели сделать через enum?
Комментарий недоступен