Среда, 18 Сентября 2019, 03:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » сделать GetComponent публичным (сделать GetComponent публичным)
сделать GetComponent публичным
OrcanДата: Воскресенье, 23 Апреля 2017, 00:24 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Привет всем! Хотел бы сделать GetComponent публичным чтобы расставлять нужный сразу в редакторе,а не писать постоянно новые скрипты под каждый компонент. В инете такого не нашёл. Как правильно это делается?
Примерно код (не работает) :
Код

  public string Rtag = "Manager" ;
    GameObject thisObj;
    private bool myVar= true;
    
    public string GetComp = "AudioSource";

    public void mySwit() { thisObj = GameObject.FindGameObjectWithTag(Rtag);
        if (myVar) { myVar = !myVar; Pause(); } else{ myVar = !myVar; Play();  }
    }
    public void Pause()
    {
       thisObj.GetComponent<GetComp>().Pause();
    }

    public void Play() {
      thisObj.GetComponent<GetComp>().Play();
    }
  


roma3fonДата: Воскресенье, 23 Апреля 2017, 04:19 | Сообщение # 2
участник
Сейчас нет на сайте
Orcan, не понимаю зачем это вообще надо, но вот мое виденья этого костыля:
Создаешь перечисление со всеми скриптами которые тебе нужны
enum GetComponentScript { BoxCollider, AudioSource, ...};
После чего создаешь для каждого типа скрипта переменную
BoxCollider myBoxCollider ;
Далее просто присваиваешь
myBoxCollider = thisObj.GetComponent<BoxCollider>();
вот и все, и делай с полученными переменными любой изврат, который ты задумал :D


Восприятие субъективно, реальность индивидуальна!
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » сделать GetComponent публичным (сделать GetComponent публичным)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2019 Рейтинг