Система авторизации для Unity3D на NodeJS + MongoDB

Привет. Некоторое время работаю с Nodejs+MongoDB. JS еще то гавнецо после c#, но сегодняшний js уже намного лучше: промисы, константы — в общем язык потихоньку взрослеет)

Так вот, решил написать что-нибудь полезное. Чаще всего вопрос вставал у людей «Как запилить регистрацию без смс для прилаги, и чтобы можно было сохранять туда инвентарь героя?»

Давайте попробуем сделать требуемый сервис.

Читать дальше →

Архитектура приложения Unity3D (StrangeIoC)

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

Часто встречаю в и-нете вопросы по поводу того, какой выбрать паттерн или как сделать архитектуру гибкой и тп.

Я выработал свой подход, и вот основные моменты:

Использовать стейт машину
Стейт машина(конечный автомат) — это круто, потому что любое приложение можно представить как набор состояний и переходов между ними.

Всю логику можно поделить на стейты, сервисы и библиотеки. Каждый стейт несет свое бремя в жизни приложения. Типичный пример: есть приложение, в нем есть меню, сама игра и окно выигрыша/проигрыша. Все эти экраны можно представить как состояния, поэтому получится 4 состояния в вашем приложении: меню, игра, выигрыш, проигрыш. Осталось только связать их переходами.
test
Читать дальше →

Unity VK Mobile: 0 Введение

Привет. Расскажу в этот раз я вам про интеграцию одного плагинчика для социальной сети ВКонтакте(ВК).

Дело все в том, что ВК недавно(год назад) открыли свою мобильную платформу. Её достоинства в том, что там халявный трафик и ПОКА малое количество приложений:) То есть можно получить несколько тысяч установок абсолютно бесплатно. А если игра будет иметь хорошую виралку, то и несколько десятков, а то и сотен тысяч установок. Согласитесь, что это не плохо для инди или мелкой компании.

Начать нужно с того, что прочесть список того, что необходимо реализовать в приложении, чтобы вас приняли в каталог:
— Добавить кнопки подключения и отключения аккаунта ВКонтакте
— Добавить кнопку вступления в официальные сообщества игры и платформы
— Реализовать механизм приглашения друзей в игру
Тут стоит заметить, что «кнопку вступления в официальные сообщества» подразумевает и просто открытие страницы требуемых групп.

Читать дальше →

Передаем делегат из Unity3D в ObjC

Привет! Давно не писал статей. Вот решил поделиться недавним хаком, который пришлось использовать для написания плагина. Будет разбирать на примере как передать из C# кода ссылку на метод(делегат) в ObjC код. Исходники я приведу, так как плагинчик опенсорсный (с открытым исходным кодом).

Что делает плагин? Он перехватывает событие openUrl и возвращает результат в приложение. Это полезно, когда нужно реализовать, например, oauth регистрацию и нужно получить токен в ответ через схему приложения.

Вы наверное знаете, что есть метод UnitySendMessage. Для его работы нужно создавать GameObject, вешать на него скрипт. К тому же, вам придется писать строки с именами объекта и методов, что не очень красиво и удобно. С делегатами круче — сам по себе он несет интерфейс, вам остается лишь вызвать его когда нужно и передать необходимые параметры.

Для начала, давайте вставим готовый ObjC код в папку Assets/Plugins/iOS/

Читать дальше →

Работаем с Stencil в Unity3D ShaderLab

Приветы. Встала вот такая задача: сделать затемнение всего экрана, но в каком-то участке сделать как бы «дырку».

Как такое можно сделать?

1 Вариант — «Латать» экран
Заделываем экран кусками — тут думаю понятно) У нас есть одна текстура круга, а остальную часть мы заделываем кусками. Реализовывать дополнительно ничего не нужно, достаточно сверстать. НО! Как только понадобиться несколько «дыр», верстка усложнится. А если нужно динамически подсвечивать часть экрана?

Читать дальше →

Unity Tips: Code Templates (шаблоны кода)

Часто, во время разработки проекта, мы набираем однообразные фрагменты кода. Это может занимать приличное время, хотя, по сути, мы просто копипастим код.

Если вы хотите сократить время набора однообразного кода в несколько раз, то встречайте — Шаблоны Кода!(Code Templates)

Мы разберем шаблоны в IDE MonoDevelop, но они существуют и в других средах, например, Visual Studio.

И так, смотрим видео. И несколько шаблонов ниже я приведу в качестве примера.



Обработчик клика по кнопке:
private void On$btnName$Click(GameObject sender)
{

}

Получить компонент объекта:
$variable$.GetComponent<$type$>()