Взаимодействие C# <> Javascript

Программирование на Юнити.

Взаимодействие C# <> Javascript

Сообщение alexz 14 дек 2010, 10:53

Правильно ли я понимаю, что в Unity классы, написанные на разных языках, не могут напрямую обращаться друг к другу? Например, если есть MyJavascriptClass с методом DoJob(), то из C# это метод нельзя вызвать явно:

MyJavascriptClass x = gameObject.GetComponent<MyJavascriptClass>();
x.DoJob();


А можно только так:

Component x = gameObject.GetComponent("MyJavascriptClass");
x.SendMessage("DoJob");


Может быть, я что-то упустил, и в C# достаточно добавить какое-нибудь пространство имён, чтобы класс MyJavascriptClass стало видно?

PS
И сопутствующий вопрос: я до сих пор не понял, Javascript в Unity компилируется и работает сам по себе или относится к Mono, как C#?
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: Взаимодействие C# <> Javascript

Сообщение Zaicheg 14 дек 2010, 12:58

Связано с порядком компиляции.
http://unity3d.com/support/documentatio ... ced29.html
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Взаимодействие C# <> Javascript

Сообщение alexz 14 дек 2010, 13:12

Zaicheg писал(а):Связано с порядком компиляции.
http://unity3d.com/support/documentatio ... ced29.html

Я вчера пробовал обратиться из C# к параметрам скрипта SunShafts, который написан на яваскрипте и лежит в Standart Assets ― это первый пункт в очереди на компиляцию. Мой скрипт лежит в отдельной папке, несвязанной со стандартными папками, ― это последний пункт в очереди на компиляцию. И компилятор C#, и Intellisense считают, что класс SunShafts не существует для моего скрипта.
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7