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

Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 17:45
Fox_game
Добрый день. Есть модуль(пусть будет Load.asmdef). При компиляции он превращается в Load.dll. Можно ли заставить другой проект использовать этот Load.dll??

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 17:53
1max1
Думаю да, но надо поискать как в юнити подключать либы ибо в ссылку их не запихнешь(

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 18:00
Fox_game
1max1 писал(а):Думаю да, но надо поискать как в юнити подключать либы ибо в ссылку их не запихнешь(

Но мой же проект читает эту длл без каких-либо ссылок??

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 18:24
1max1
Мне кажется он читает не dll а исходный код, только после билда это все в длл преобразуется, а вот чтобы сторонник проект прочитал твою длл, тут либо исходный код ее нужно отдельно подрубать, либо попробовать так https://docs.unity3d.com/Manual/UsingDLL.html

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 20:47
Fox_game
1max1 писал(а):Мне кажется он читает не dll а исходный код, только после билда это все в длл преобразуется, а вот чтобы сторонник проект прочитал твою длл, тут либо исходный код ее нужно отдельно подрубать, либо попробовать так https://docs.unity3d.com/Manual/UsingDLL.html

Спасибо за ответ. Попробую этот способ

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 21:01
Anonymyx
Имеется ввиду в редакторе или подгружать в рантайме?
Если 1ое, то ссылка выше. Просто закидываете в проект и подключаете namespace.

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 21:07
Fox_game
И все же меня интересует. Неужели нельзя скинуть свой DLL в папку менеджер, чтоб игра его читала??

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 21:08
Fox_game
Anonymyx писал(а):Имеется ввиду в редакторе или подгружать в рантайме?
Если 1ое, то ссылка выше. Просто закидываете в проект и подключаете namespace.

namespace? В скрипте?

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 21:16
Fox_game
И еще вопросик. Никому ничего неизвестно, можно ли менять dll или скрипт, который находится в другой папке, или на другом диске??

Re: Загрузка модулей в проектах

СообщениеДобавлено: 13 июл 2018, 22:13
Anonymyx
namespace? В скрипте?

Да, с обычными .dll'ками это так. Но перечитал ваш вопрос и понял что вы имеете в виду Assembly definition из Unity, там я не знаю как, с ними не ковырялся.

И еще вопросик. Никому ничего неизвестно, можно ли менять dll или скрипт, который находится в другой папке, или на другом диске??

В смысле менять? Что вы хотите сделать и где? Поподробнее объясните.

Re: Загрузка модулей в проектах

СообщениеДобавлено: 15 июл 2018, 13:42
Fox_game
Anonymyx писал(а):
namespace? В скрипте?

Да, с обычными .dll'ками это так. Но перечитал ваш вопрос и понял что вы имеете в виду Assembly definition из Unity, там я не знаю как, с ними не ковырялся.

И еще вопросик. Никому ничего неизвестно, можно ли менять dll или скрипт, который находится в другой папке, или на другом диске??

В смысле менять? Что вы хотите сделать и где? Поподробнее объясните.

ну менять скриптом код dll другой игры

Re: Загрузка модулей в проектах

СообщениеДобавлено: 15 июл 2018, 13:44
1max1
Менять код уже скомпилированной dll не получиться, нужен тогда исходный код этой dll.

Re: Загрузка модулей в проектах

СообщениеДобавлено: 15 июл 2018, 13:57
Fox_game
1max1 писал(а):Менять код уже скомпилированной dll не получиться, нужен тогда исходный код этой dll.

почему нет? Я вполне легально могу закинуть dll в свой проект и менять в ней все значения

Re: Загрузка модулей в проектах

СообщениеДобавлено: 15 июл 2018, 14:18
1max1
Ты не понял.
К примеру у тебя есть готовая длл, в ней есть функция, допустим:
Синтаксис:
Используется csharp
public static class Math
{
    public static float Sum(float a, float b)
    {
        return a + b;
    }
}

Так вот, ты легко можешь пользоваться этим методом, менять значения переменным, но ты не можешь отредактировать код, допустим изменить строчку return a + b; на строчку return a / b; У тебя просто нету доступа к исходному коду из проекта, в котором ты подрубил эту длл.

Re: Загрузка модулей в проектах

СообщениеДобавлено: 17 июл 2018, 00:37
Fox_game
1max1 писал(а):Ты не понял.
К примеру у тебя есть готовая длл, в ней есть функция, допустим:
Синтаксис:
Используется csharp
public static class Math
{
    public static float Sum(float a, float b)
    {
        return a + b;
    }
}

Так вот, ты легко можешь пользоваться этим методом, менять значения переменным, но ты не можешь отредактировать код, допустим изменить строчку return a + b; на строчку return a / b; У тебя просто нету доступа к исходному коду из проекта, в котором ты подрубил эту длл.

И с чего ты взял, что я не могу ещё менять? Менять код игры можно и не имея исходников. Другой вопрос как заставить уже готовую долл читать мой модуль.