Engine.Coin¶
По умолчанию контейнер с монетами уже существует. Для того чтобы получить доступ к информации о монетах необходимо прокинуть зависимости.
Подпись¶
Пример:
using Engine.Coin;
public class CoinsExample
{
public ICoinsData coinsData;
void OnEnable()
{
coinsData = Engine.DI.DIContainer.GetAsSingle<ICoinsData>();
}
}
Далее можно проводить различные операции с балансом
Получить информацию о балансе¶
coinsData.totalCoins
Прибавить к балансу¶
int amount=100;
coinsData.AddCoins(amount);
Отнять от баланса¶
int amount=100;
coinsData.RemoveCoins(amount);
Подписаться и отписаться на изменения баланса¶
using Engine.Coin;
public class CoinsExample
{
public ICoinsData coinsData;
void OnEnable()
{
coinsData = Engine.DI.DIContainer.GetAsSingle<ICoinsData>();
coinsData.onUpdate += OnCoinsUpdated;
}
void OnDisable()
{
coinsData.onUpdate -= OnCoinsUpdated;
}
private void OnCoinsUpdated(ParametersUpdate obj)
{
Debug.Log("Coins is updated...");
//obj.amount - возвращает кол-во на которое произошло изменение
//obj.operation - возвращает Engine.Coin.OperationType {Add или Minus}
//obj.total - возвращает итоговое кол-во монет
}
}