Upgrades Manager
Интеграция в проект:
В любом удобном месте создаем ScriptableObject UpgradeData (Create > Installers > UpgradeData) и заполняем данными
На канвасе создаем объект и накидываем на него скрипт UpgradesManager
В UpgradesManager создаем дочерний объект(Button(TextMeshPro)) и накидываем скрипт UpgradeButton, после чего прокидываем ссылки на тексты и на UpgradeData, созданный ранее
Поля ScriptableObject(UpgradeData):
ButtonName
– название улучшения, используем, чтобы обращаться к улучшению черезSingleton
<UpgradeManager>
StartPrice
– стартовая цена улучшенияPriceIncreaseValue
– Значение на/в которое будет увеличиваться стоимость каждого последующего улучшенияIncreaseType
– Тип увеличения стоимости каждого последующего улучшения
Типы увеличения стоимости улучшения:
Sum – увеличение стоимости каждый раз на определенную сумму, таким образом стоимость улучшения будет следующей (1 lvl - 100, 2 lvl - 125, 3 lvl - 150 и т.д.)
Multiply – увеличение стоимости каждый раз во сколько-то раз, таким образом стоимость улучшения будет следующей (1 lvl - 100, 2 lvl - 200, 3 lvl - 400 и т.д.)
Как использовать:
В созданную кнопку добавляем Listener “UpgradeButton > Upgrade()”, проверка на то хватает ли монет происходит внутри метода, там же происходит вычитание денег из CoinsManager’a и увеличение стоимости следующего улучшения
Кнопки должны обязательно лежать внутри объекта UpgradesManager для того, чтобы происходила автоматическая инициализация в методе Awake()
К улучшениям можно обратиться через Singleton:
GetUpgradesLevel(Название улучшения) – возвращает текущий уровень улучшения
SubscribeOnChanges(Название улучшения, Action) – Подписка на событие улучшения
Last updated