Сделал вот так. То есть сейчас, как я понимаю, при срабатывания триггера берется ссылка на переменную из другого скрипта. Но так как это ссылка, то и исходная переменная должна меняться. Но проблема осталась.
тебе нужно менять напрямую поле из EnemySpawner. Лучше сделай в текущем классе приватное поле интовое, в старте сделай этому полю GetComponent, либо другим способом получи ссылку на твой компонент. И потом поле меняй
Сделал вот так. То есть сейчас, как я понимаю, при срабатывания триггера берется ссылка на переменную из другого скрипта. Но так как это ссылка, то и исходная переменная должна меняться. Но проблема осталась.
При присвоении у тебя берется копия числа спавнера И ты именно её уменьшаешь
Когда ты делаешь enemiesRemain = GetComponent… - ты даёшь enemiesRemain число, и после этого у тебя поле в EnemySpawner и enemiesRemain никак не связаны между собой, потому что int это значимый тип
тебе нужно менять напрямую поле из EnemySpawner. Лучше сделай в текущем классе приватное поле интовое, в старте сделай этому полю GetComponent, либо другим способом получи ссылку на твой компонент. И потом поле меняй
Я запутался, потому что изначально было так, как советуешь ты, но все равно ничего не работало))
Сделал вот так. То есть сейчас, как я понимаю, при срабатывания триггера берется ссылка на переменную из другого скрипта. Но так как это ссылка, то и исходная переменная должна меняться. Но проблема осталась.
А, сори) это я ошибся. Делаешь поле типа private EnemySpawner _enemySpawner. Ему в старте: _enemySpawner = GetComponent<EnemySpawner>(); В коллизии меняешь _enemySpawner.EnemiesToKill
А, сори) это я ошибся. Делаешь поле типа private EnemySpawner _enemySpawner. Ему в старте: _enemySpawner = GetComponent<EnemySpawner>(); В коллизии меняешь _enemySpawner.EnemiesToKill
Получается у всех EnemyController’ов будет ссылка на один и тот же EnemySpawner, и все они будут менять одно и то же значение количнства твоих врагов
Сделал вот так. То есть сейчас, как я понимаю, при срабатывания триггера берется ссылка на переменную из другого скрипта. Но так как это ссылка, то и исходная переменная должна меняться. Но проблема осталась.
Сделал вот так. То есть сейчас, как я понимаю, при срабатывания триггера берется ссылка на переменную из другого скрипта. Но так как это ссылка, то и исходная переменная должна меняться. Но проблема осталась.
Если кратко, то ты меняешь копию значения переменной, а не саму переменную
Ага. Я понимал, что каких фундаментальных вещей не понимаю, но не понимал каких именно) Мне даже в голову не приходило, что можно создавать переменные как private <имя на другой класс> и уже обращаться к переменным внутри него.
Ага. Я понимал, что каких фундаментальных вещей не понимаю, но не понимал каких именно) Мне даже в голову не приходило, что можно создавать переменные как private <имя на другой класс> и уже обращаться к переменным внутри него.