Как использовать метод другого класса

У меня есть контроллер игрока. Нужно чтобы при пересечении коллайдера был вызван метод из класса Currency

public class Currency
{

    public class Gold
    {
        private int amountOfGold = 0;
        public void AddGold(int amountForAdd)
        {
            amountOfGold += amountForAdd;
        }
        public int ShowGold()
        {
            return amountOfGold;
        }
    }
}

Как я могу подключить класс Currency к другому скрипту без добавления как gameObject в инпекторе и тд, а чисто кодом. Заранее спасибо :)


Ответы (1 шт):

Автор решения: Сергей

Как вариант можно просто использовать статику(конечно, если у вас один экземпляр Currency на весь проект)

public class Test : MonoBehaviour
{
    public static Currency GlobalCurrency;

    private void Awake()
    {
        GlobalCurrency = new Currency();
    }
}
private void OnCollisionEnter2D
{
    Test.GlobalCurrency.gold.AddGold(gold);
}

UPD: Нежелательно вкладывать класс в класс, это очень некрасиво и неудобно.

→ Ссылка