Страница 1 из 1

Передача(получение) ссылки на скрипт

СообщениеДобавлено: 15 май 2019, 13:16
Andry62324
День добрый! Подскажите кто знает...

Как объекту получить доступ к методам другого объекта который его создал при условие что объект который его создает может иметь разное имя скрипта?

Re: Передача(получение) ссылки на скрипт

СообщениеДобавлено: 15 май 2019, 14:31
1max1
Методы должны быть общими (это либо наследование либо интерфейсы), хотя через dynamic можно что угодно взять. Но dynamic не производительный.

Синтаксис:
Используется csharp
// Script1
public dynamic d; // Забивается при создании.
d.Method1(); // Вызываешь что угодно.

// Script2
Instantiate<Script1>().d = this; // Передаешь ссылку на создателя.

Re: Передача(получение) ссылки на скрипт

СообщениеДобавлено: 15 май 2019, 15:16
Andry62324
1max1 писал(а):Методы должны быть общими (это либо наследование либо интерфейсы), хотя через dynamic можно что угодно взять. Но dynamic не производительный.

Синтаксис:
Используется csharp
// Script1
public dynamic d; // Забивается при создании.
d.Method1(); // Вызываешь что угодно.

// Script2
Instantiate<Script1>().d = this; // Передаешь ссылку на создателя.


Можешь подробней второй вариант описать?
Я объект создаю с помощью Instantiate к которому прикреплен скрипт и мне нужно туда передать ссылку на скрипт из которого был создан объект или там получить ссылку на скрипт который создал...

Re: Передача(получение) ссылки на скрипт

СообщениеДобавлено: 15 май 2019, 15:31
1max1
Ассет: http://rgho.st/6NMNztXgr
И еще нужно api переключить на NET 4.x

ИзображениеИзображение

Re: Передача(получение) ссылки на скрипт

СообщениеДобавлено: 15 май 2019, 15:48
Andry62324
Благодарю.

Re: Передача(получение) ссылки на скрипт

СообщениеДобавлено: 15 май 2019, 16:18
seaman
через dynamic

dynamic не работает в WebGL

Re: Передача(получение) ссылки на скрипт

СообщениеДобавлено: 15 май 2019, 17:58
lawson
Обобщение, интерфейсы, рефлексия, но dynamic я бы использовал в крайнем случае.

Re: Передача(получение) ссылки на скрипт

СообщениеДобавлено: 16 май 2019, 14:59
Woland
Попробуй через интерфейсы. Наследуешь классы от интерфейса, при создании передаешь нужный компонент в метод, в методе вместо четко определенного класса принимаешь интерфейс.