Включение и отключение объекта в коде С# Unity2d

Как можно сделать так, чтобы при соприкосновении Player с Coins1, выключался Coins1 и включался Coins, и также при соприкосновении Player с Coins, выключался Coins и включался Coins1, и т.д.?

У меня получается сделать только один такой круг, дальше зацикливается на Coins.

private void OnTriggerEnter2D(Collider2D collision)
{
    if (collision.CompareTag("Player"))
    {
        gameObject.SetActive(false);

        if (Coins1.activeSelf == false)
        {
            Coins.SetActive(true);
        }
        if (Coins.activeSelf == false)
        {
            Coins1.SetActive(true);
        }
    }
}

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

Автор решения: Andrew

Один из многих вариантов:

Я бы сделал отдельный обьект-менеджер который бы этим занимался.

И это выглядело бы как-то так:

public class CoinManager: MonoBehavior {

private static GameObject coin1;
private static GameObject coin2;

void Start() {
    //тут ищем на сцене и присваиваем обьекты коинов
    //реализуй сам

    coin2.SetActive(false);
}

public static void Switch() {
    if ( coin1.active )
    {
        coin2.SetActive(true);
        coin1.SetActive(false);
    }
    else if ( coin2.active )
    {
        coin1.SetActive(true);
        coin2.SetActive(false);
    }
}


}

а дальше мы из необходимого скрипта вызываем CoinManager.Switch()

→ Ссылка