Делаю простой пример - переключения между сценами. Всё работает.
Как видно на картинке, на сцене создан объект SceneChanger.
К этому объекту подключен скрипт с одноименным названием SceneChanger.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneChanger : MonoBehaviour
{
public void ChangeScene(int sceneNumber)
{
SceneManager.LoadScene(sceneNumber);
}
}
На событие кнопки OnClick идет вызов этого скрипта с номером сцены.
Возникло пара вопросов:
1) Как подключить один объект (SceneChanger ) на несколько сцен?
Объект SceneChanger сейчас у меня только на первой сцене. А мне надо его подключить к кнопке на второй сцене и к кнопке на третьей сцене.
Я конечно могу скопировать его (создать на каждой сцене свой объект), но это будет не совсем верно.
У меня будет три одинаковых "пустых" объекта. И вроде к ним будет подключен один скрипт, но всё равно как то это странно дублировать одинаковые сущности.
2) Если я подключаю к визуальному компоненту скрипт, всегда ли я должен это делать через другой объект?
То есть скрипт SceneChanger.cs я подключил к пустому объекту SceneChanger. Как бы напрямую.
Но скрипт SceneChanger.cs я не могу подключить к объекту Image (или Button) просто перетащив его.
Тогда я не увижу нужный мне класс и метод, в списке меню. Поэтому я должен подключать скрипт "через посредника" - подключать к Image объект SceneChanger, к которому уже подключен скрипт SceneChanger.cs.