Easy 2D Array - легкая работа с двумерными массивами.

Инструменты для разработки

Easy 2D Array - легкая работа с двумерными массивами.

Сообщение Krubbs 13 июл 2013, 21:29

Этот пак не пустили на ассет стор со словами "польза ... сомнительна. Согласно пункту ... мы имеем право отказать в публикации пака. Идите в жопу с вашим паком". [unity 3D] Странные. Ведь мне это нужно было, я это сделал и просто решил поделиться с людьми.

Итак, передо мною была задача: поступивший в юнити двумерный массив строк оперативно редактировать с целью тестирования приложения.
Собственно, у меня получившийся результат выглядел вот так:
Изображение

На текущий момент главная проблема в работе с двумерными массивами в юнити - то, что юнити их не сериализует. И даже банально не показывает в инспекторе - и это я не про какой нибудь Dictionary<string , string>, а вообще про обычный string[,]. Приходится выкручиваться - кто то выдумывает геморрой с массивом классов, другие пишут десятки строк кода для определенного скрипта, дабы сделать отображение в инспекторе..

Мое решение отличается от всех этих примеров тем, что оно простое. Все, что от вас требуется - просто объявить двумерный массив string[,] в скрипте, и указать его в моем окне. Все остальное произойдет самостоятельно и без вашего участия. Правда вот, чтобы все заработало, придется немного поковыряться в окне.

Для этого есть документация, написанная моим кривым английским, которую можно найти вот тут: http://riseofmagic.ru/Easy%202D%20Array%200,93%20Documentation.pdf
Особенно обратите внимание на вот эту http://riseofmagic.ru/Help.gif гифку, она понятно показывает как указать скрипт моему тулу.


[V] Вся работа состоит из работы с кнопочками менюшки.
[V] С изменением размера массива вы легко разберетесь, соответствующие кнопки есть в окне и вы сразу их увидите.
[V] Напомню, юнити не сериализует двумерные массивы - а это значит, что после нажатия на кнопку "Play", массив потеряет все данные и сбросится к значению null. Для того, чтобы этого не происходило, я позволил сохранять данные в массиве - кнопки Save и Load вы также легко найдете в окне тула.
[V] Чтобы загрузка сохрененного (!) массива после запуска игры происходила автоматически, просто тыкните галочку "Автоматически загружать массив...". А для загрузки массива после выхода из игры, есть и соответствующая этой функции галочка.
[V] Однако, чтобы сохраненный массив автоматически загружался в игре после компиляции игры - обратите внимание на меню "Show help?". Там будет показана строка, которую вы должны добавить в свой скрипт для загрузки массива с помощью статического метода.

В общем, лично мне этот инструмент очень и очень пригодился. Разработка пошла быстрее, ведь теперь я легко могу использовать двумерные массивы и видеть их визуально в виде таблички - это очень, ОЧЕНЬ удобно.

Если этот пак вам понравится, и вы хотели бы увидеть его развитие - не забудьте это написать в комментариях. С удовольствием бы поработал над этим Easy 2D Array и добавил поддержку других типов массивов - к примеру, bool[,], float[,], int[,] и конечно же Dictionary <string, string>.
У вас нет доступа для просмотра вложений в этом сообщении.
Krubbs
UNец
 
Сообщения: 39
Зарегистрирован: 20 мар 2012, 10:02

Re: Easy 2D Array - легкая работа с двумерными массивами.

Сообщение pod4444 14 июл 2013, 18:26

юнити не сериализует двумерные массивы - а это значит, что после нажатия на кнопку "Play", массив потеряет все данные и сбросится к значению null. Для того, чтобы этого не происходило, я позволил сохранять данные в массиве - кнопки Save и Load вы также легко найдете в окне тула.


Эти кнопки только лишняя трата чужого времени имхо, все должно быть максимально автоматизировано.
Переход в игровой режим можно отловить, значит можно и автоматически сохранить.
А загружать просто по вставке скрипта в окно.
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: Easy 2D Array - легкая работа с двумерными массивами.

Сообщение Krubbs 14 июл 2013, 18:44

pod4444 писал(а):Эти кнопки только лишняя трата чужого времени имхо, все должно быть максимально автоматизировано.
Переход в игровой режим можно отловить, значит можно и автоматически сохранить.
А загружать просто по вставке скрипта в окно.


Не каждому нужен такой функционал - потому и вынесено отдельно, только для нуждающихся. У меня массив вообще грузится из БД и автоматически заполняет все поля. Сохранение и загрузка мне тупо не нужны, ровно как и автоматическая загрузка массива после запуска игры.

Так что только в случае, если действительно что-то нужно, можно и потратить сотню-другую миллисекунд своего времени, чтобы поставить галочку или нажать на кнопочку :)
Соглашусь, что это лишний гемор - но некоторым лишняя автоматизация может только навредить (например мне). [-x
Krubbs
UNец
 
Сообщения: 39
Зарегистрирован: 20 мар 2012, 10:02

Re: Easy 2D Array - легкая работа с двумерными массивами.

Сообщение Tolking 14 июл 2013, 20:10

Нужная штука! Спасибо за работу.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Easy 2D Array - легкая работа с двумерными массивами.

Сообщение Vice 30 июл 2013, 09:58

(3A4OT) Спасибо! Хотелось бы увидеть развитие плагина.
Аватара пользователя
Vice
UNIт
 
Сообщения: 101
Зарегистрирован: 23 апр 2012, 05:43


Вернуться в Инструментарий

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

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