Возник такой вопрос. При переходе на другую сцену обязательно убирать "слушатель" с кнопки?
Пример, чтобы было понятнее:
void Start(){
btn_Ok.onClick.AddListener(onClickOk);
...
}
void onClickOk(){
btn_Ok.onClick.RemoveListener(onClickOk);
...
SceneManager.LoadScene("Scene2");
}
В большинстве случаев нет, не обязательно, так как при загрузки новой сцены с SceneManagement.LoadSceneMode mode = LoadSceneMode.Single, все прочее сцены выгружаются из памяти, и все их зависимости также.
Но хорошим тоном считается наличие явной отписки от события. Тоже относиться к явно указанным модификаторам доступа.
В вашем примере вы скорее убираете возможность множественного вызова слушателей события onClick, что при загрузке сцены в синхронном режиме не вызовет проблемы.
[RequireComponent(typeof(Button))] public class Test : MonoBehaviour { [SerializeField] private Button _button; private void Awake() => _button.onClick.AddListener(LoadScene2); private void LoadScene2() { _button.onClick.RemoveListener(LoadScene2); SceneManager.LoadScene("Scene2"); } }
Спасибо, все понятно :)