Осваиваю NGUI. Реализация текстовых полей очень не понравилась.
И так, улучшенный скрипт для текстового поля для NGUI.
Добавил мигающий курсор, который можно двигать стрелками на клавиатуре.
Хорошо бы сделать то же с помощью мыши
Соответственно текст удаляется и пишется на месте курсора
Delete определяется как backspace. Нужно сделать отмену backspace, а не просто поймать нажатие delete
Текстовое поле корректно "перематывается" в зависимости от положения курсора.
Сейчас при мигании курсора сдвигалась вся строка. Т.е. курсор печатается отдельным символом (| или _) и ширина символа не равна ширине пробела. Вероятно, можно как-то "закрасить" курсор вместо замены на пробел, но я пока не очень в NGUI разобрался.
Предлагаю совместными усилиями допилить скрипт
update 03.06.12
Добавил Home/End, отключил мигание курсора.
(скрипт из бесплатной версии)