Страница 1 из 1

Не изменяется значение поля

СообщениеДобавлено: 14 май 2022, 19:08
Asdshka
Есть скрипт "Script1" и есть скрипт "Script2". В первом есть поле:
Синтаксис:
Используется csharp
public int count;
//Далее имеется "логика", которая прибавляет значение по 1 и использует это значение для проверок

Но в другом скрипте, который висит на другом объекте, надо отнять оттуда 1. Для этого во втором скрипте:
Синтаксис:
Используется csharp
    public Script1 reference;

    void Update()
    {
        reference.count -= 1;
    }

Запускаю - не отнимает. Почему?

Кстати, объект, на котором висит "Script2" - их много и они создаются из "Script1" через Instantiate префаба. И каждый из них перед удалением должен в "Script1" отнимать единицу от count.


Синтаксис:
Используется csharp
    void OnCollisionExit(Collision collision)
    {
        if (collision.gameObject.tag == ("Player"))
        {
            reference.count -= 1;
            Destroy(this.gameObject);
        }
    }