Подключение своего проекта

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

Подключение своего проекта

Сообщение EvgeniyT 08 янв 2011, 14:11

У меня такая проблема: нужно к проекту, который содержит в себе все скрипты моей игры, подключить другой проект. Я делаю стандартную процедуру - добавляю в Solution Explorer свой проект, потом добавляю на него Reference, и пытаюсь использовать пространства имён и объекты из подключенного класса. Пока я пишу код всё отлично - все объекты видимы и пространства имён существуют. Но когда я перехожу в Unity, она начинает на меня ругаться, типо она таких пространств имён не видит, и говорит, что я забыл подключить ссылку на проект.
Так вот вопрос как раз и заключается в том, как безболезненно добавить в проект игры свой собственный проект? Нужно ли его помещать в папку Assets, или нет? В ообщем как сделать так, чтобы Unity приняла его гостеприимно, а не гавкала?
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Подключение своего проекта

Сообщение sp00n 08 янв 2011, 15:07

Создать unitypackage и импортировать уже его?
Ты молод, креативен, талантлив?
Амбициозен, уверен в себе, полон свежих идей?
А делать хоть что-нибудь умеешь?!
sp00n
UNITрон
 
Сообщения: 254
Зарегистрирован: 27 фев 2010, 20:43

Re: Подключение своего проекта

Сообщение EvgeniyT 08 янв 2011, 15:11

sp00n писал(а):Создать unitypackage и импортировать уже его?


Если честно, не очень понял вопроса т.к. не знаю, что такое unitypackage. Мне нужно добавить свой собственный проект, никак не связанный с Unity и использовать в скриптах для Unity классы из этого проекта.
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Подключение своего проекта

Сообщение DbIMok 08 янв 2011, 15:40

редактор это редактор он может видеть и думать что угодно. но как только мы переходим в Unity, она перекомпилирует скрипты в своем проекте, создает из них несколько dll. конечно она не знает про какие-то другие неведомые проекты. для переноса кода в исходном виде можно копировать папку с кодом в ассетс, использовать пакаджи (что в общем-то примерно тоже) или копировать уже скомпилированный код в виде dll.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Подключение своего проекта

Сообщение EvgeniyT 08 янв 2011, 15:52

DbIMok писал(а):копировать папку с кодом в ассетс


Пробовал, получаю какое-то исключение:

Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Подключение своего проекта

Сообщение DbIMok 08 янв 2011, 16:15

не какое-то, а вполне определенное "класс в модуле не может быть загружен"
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Подключение своего проекта

Сообщение EvgeniyT 08 янв 2011, 16:25

DbIMok писал(а):"класс в модуле не может быть загружен"


Да это я понял! что делать-то? Библиотека же нужна!
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Подключение своего проекта

Сообщение DbIMok 08 янв 2011, 18:05

разбираться в причинах. либо, если хотите помощи, дать больше информации.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Подключение своего проекта

Сообщение EvgeniyT 08 янв 2011, 18:12

Помощи хочу. Какая именно информация может быть полезна?
Могу с уверенностью сказать, что сама библиотека отлично компилируется.
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Подключение своего проекта

Сообщение DbIMok 08 янв 2011, 18:34

начните с описания ситуации, например:
у меня есть проект 1, в нем используется исходный код библиотеки (указать какой), все работает. я копирую папку с библиотекой в проект 2, и юнити ругается: сообщение(я) полностью
во вложении архив тестового проекта с библиотекой.

библиотека компилируется во что? в нативный или .нет код (какой версии)? какие библиотеки она, в свою очередь, использует?
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Подключение своего проекта

Сообщение EvgeniyT 08 янв 2011, 22:00

Попробовал добавить другую библиотеку, вроде работает.
Видимо это значит, что добавляемая библиотека в чём-то кривовата. Вот Unity и ругается.
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Подключение своего проекта

Сообщение EvgeniyT 09 янв 2011, 09:10

Ещё вопрос по теме: почему свои библиотеки .dll обязательно скидывать в папку Assets? Ведь Unity не ругается на библиотеку System.dll, которая находится вообще совершенно в другом месте, или всякие там UnityEngine.dll . А если я так же добавлю Reference на свою собственную библиотеку, лежащую в другом месте, то при первом Reload-е Visual Studio, ссылка на мою библиотеку пропадает.
И что, если мне понадобится использовать 10 разных библиотек в своей игре, то обязательно нужно из все включать в проект?
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Подключение своего проекта

Сообщение Fredo 09 янв 2011, 09:19

EvgeniyT писал(а):Ещё вопрос по теме: почему свои библиотеки .dll обязательно скидывать в папку Assets? Ведь Unity не ругается на библиотеку System.dll, которая находится вообще совершенно в другом месте, или всякие там UnityEngine.dll . А если я так же добавлю Reference на свою собственную библиотеку, лежащую в другом месте, то при первом Reload-е Visual Studio, ссылка на мою библиотеку пропадает.
И что, если мне понадобится использовать 10 разных библиотек в своей игре, то обязательно нужно из все включать в проект?

Ну логично что их нада будет включать верно ? Ведь не факт что эти библиотеки есть у всех пользователей.
Аватара пользователя
Fredo
UNITрон
 
Сообщения: 213
Зарегистрирован: 06 янв 2011, 05:37

Re: Подключение своего проекта

Сообщение EvgeniyT 09 янв 2011, 09:41

Не факт, что у всех пользователей есть на компьютере библиотека UnityEngine.dll. Точнее даже, я бы сказал, вероятность того, что данной библиотеки у игрока не будет, стремится к 100%. Однако эту библиотеку добавлять в папку Assets не нужно.
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: Подключение своего проекта

Сообщение Fredo 09 янв 2011, 09:44

Я думаю что юнити заботится об этом сам.
Аватара пользователя
Fredo
UNITрон
 
Сообщения: 213
Зарегистрирован: 06 янв 2011, 05:37

След.

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

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

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