@okamilov

Как правильно обращаться к скрипту в Юнити, который имеет разное название в каждой сцене (GameController (1...10))?

Всем привет!
Ситуация следующая: есть где-то 20 скриптов, из них 19 одинаковы для
всех сцен (движение персонажа, скрипт джойстика, вывод здоровья). Все
основные изменения в лвл-ле (расположение, тип врагов, кол-во врагов,
тип завершения миссии) я объединил в скрипт GameController, который я
собирался переписывать (или сделать абстрактный класс и наследовать) под
каждый лвл.
Здесь и возникла проблема, а именно то, что многие из скриптов
обращаються к GameController (вызов метода, доступ к переменной)
Для метода это выглядит так:
GameController controller = GameObject.FindGameObjectWithTag (
"GameController»). GetComponent ( "GameController") as GameController;
// Создаем объект класса контроллера
controller.KilledEnemy ();
Для переменной:
if (GameController.enemyWin == enemyCreate)
А теперь сам вопрос: можно ли например на 3 лвл-ле брать напрмер ссылку для GameControllerLVL3
Сам я думал создать некую переменную в каждом из скриптов и просто в
редакторе юните перебросить скрипт, или объект, на котором есть данный
скрипт, и как-то получить доступ, но попытки не увенчались успехом
  • Вопрос задан
  • 401 просмотр
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Unity
Унаследуйте их всех от одного интерфейса. GetComponent<>() (именно шаблонный) прекрасно работает с интерфейсами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы