Этот пак не пустили на ассет стор со словами "польза ... сомнительна. Согласно пункту ... мы имеем право отказать в публикации пака. Идите в жопу с вашим паком". Странные. Ведь мне это нужно было, я это сделал и просто решил поделиться с людьми.
Итак, передо мною была задача: поступивший в юнити двумерный массив строк оперативно редактировать с целью тестирования приложения.
Собственно, у меня получившийся результат выглядел вот так:
На текущий момент главная проблема в работе с двумерными массивами в юнити - то, что юнити их не сериализует. И даже банально не показывает в инспекторе - и это я не про какой нибудь Dictionary<string , string>, а вообще про обычный string[,]. Приходится выкручиваться - кто то выдумывает геморрой с массивом классов, другие пишут десятки строк кода для определенного скрипта, дабы сделать отображение в инспекторе..
Мое решение отличается от всех этих примеров тем, что оно простое. Все, что от вас требуется - просто объявить двумерный массив string[,] в скрипте, и указать его в моем окне. Все остальное произойдет самостоятельно и без вашего участия. Правда вот, чтобы все заработало, придется немного поковыряться в окне.
Для этого есть документация, написанная моим кривым английским, которую можно найти вот тут: http://riseofmagic.ru/Easy%202D%20Array%200,93%20Documentation.pdf
Особенно обратите внимание на вот эту http://riseofmagic.ru/Help.gif гифку, она понятно показывает как указать скрипт моему тулу.
Вся работа состоит из работы с кнопочками менюшки.
С изменением размера массива вы легко разберетесь, соответствующие кнопки есть в окне и вы сразу их увидите.
Напомню, юнити не сериализует двумерные массивы - а это значит, что после нажатия на кнопку "Play", массив потеряет все данные и сбросится к значению null. Для того, чтобы этого не происходило, я позволил сохранять данные в массиве - кнопки Save и Load вы также легко найдете в окне тула.
Чтобы загрузка сохрененного (!) массива после запуска игры происходила автоматически, просто тыкните галочку "Автоматически загружать массив...". А для загрузки массива после выхода из игры, есть и соответствующая этой функции галочка.
Однако, чтобы сохраненный массив автоматически загружался в игре после компиляции игры - обратите внимание на меню "Show help?". Там будет показана строка, которую вы должны добавить в свой скрипт для загрузки массива с помощью статического метода.
В общем, лично мне этот инструмент очень и очень пригодился. Разработка пошла быстрее, ведь теперь я легко могу использовать двумерные массивы и видеть их визуально в виде таблички - это очень, ОЧЕНЬ удобно.
Если этот пак вам понравится, и вы хотели бы увидеть его развитие - не забудьте это написать в комментариях. С удовольствием бы поработал над этим Easy 2D Array и добавил поддержку других типов массивов - к примеру, bool[,], float[,], int[,] и конечно же Dictionary <string, string>.