Deplom

Deplom

На Пикабу
118 рейтинг 3 подписчика 1 подписка 1 пост 0 в горячем
Награды:
5 лет на Пикабу
14

Math experiments. Динамическая компиляция.

Здравствуйте, недавно я отвлёкся от основной разработки (т.к. устал) и создал приложение под андроид, иллюстрирующее написанные функции.

Вроде, задачка простая и покажется не интересной, но для написания функций используется C#. Т.е. речь идёт о динамической компиляции.

Сначала я использовал стандартную библиотеку, вот пример. Но

Поскольку приложения на Android требуют генерации типов прокси Java во время процесса сборки, невозможно создать весь код во время выполнения.


Затем мне подсказали использовать Mono CSharp Evaluator, что я и сделал. Эта библиотека позволяет динамически компилировать код на андроид-устроистве.

Сначала её необходимо скачать. Для этого я использовал VS nugets:

В Unity, чтобы использовать библиотеку, её необходимо поместить в проект Asset/Plugins. Поэтому просто ищем путь установки нагета (он должен быть в рядом с папкой Asset, если вы скачивали, открыв свой Unity проект в VS) и перемещаем .dll файл в свой проект.

Дальше всё просто, вот документация. Пример моего кода:

Math experiments. Динамическая компиляция.

Здесь мне необходимо получить функцию, которая будет рисовать график.

input - код, который ввёл пользователь.


Само приложение:

Т.к. моей основной задачей было сделать приложение, выполняющее определённые функции и ничего больше, UI мягко говоря - говно. Развивать приложение в планы не входит, создано для моей личной забавы и получения опыта.


Parse (не относится к теме).

Также хочу отметить, что если явно не задать формат при парсе строки в float, то на разных устройствах правильный формат может быть своим. Например:

Т.е., допустим, без явного форматирования на андроиде будет ругаться на "0,1", а в Unity на "0.1".


PS: В общем само приложение. Оно бесплатное, без рекламы, просто так.
Как писал вначале, я делаю игру под андроид, она будет необычная и я бы сказал объективно хорошая, так что предвкушайте :D
Перерыв, кстати, помог уже через день я готов был снова браться за основную работу.
Показать полностью 5
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества