LocalizedImageBinder — это компонент Unity, предназначенный для автоматизации процесса связывания LocalizeSpriteEvent с компонентом Image. Скрипт устраняет необходимость ручной настройки в инспекторе, автоматически добавляя и управляя обработчиками событий, связанными с локализацией спрайтов.
При использовании Unity Localization в связке с компонентами Image часто требуется вручную привязывать событие OnUpdateAsset к свойству sprite объекта Image. Это может быть трудоёмким и подверженным ошибкам процессом, особенно в проектах с большим количеством локализованных спрайтов. Этот компонент решает проблему автоматической привязки, что экономит время и снижает вероятность ошибок.
- Автоматическая привязка LocalizeSpriteEventкImage.sprite.
- Удаление "висячих" подписок при удалении компонента.
- Работа в режиме редактора и игры.
- Гарантированное отсутствие дублирующихся подписок.
- Простая интеграция с существующими проектами.
- Скопируйте скрипт LocalizedImageBinderв папкуScriptsвашего Unity проекта.
- Убедитесь, что у вас установлены следующие зависимости:
 
 
- Добавьте компонент LocalizedImageBinderна объект с компонентомImage.
- Убедитесь, что на том же объекте уже присутствует компонент LocalizeSpriteEvent. Если его нет, Unity автоматически добавит его благодаря атрибуту[RequireComponent].
- В инспекторе настройте таблицу и записи локализации для компонента LocalizeSpriteEvent.
Вручную настройте LocalizeSpriteEvent:
- Добавьте компонент LocalizeSpriteEvent.
- Вручную свяжите событие OnUpdateAssetсImage.sprite.
- Убедитесь, что подписка корректно настроена.
Просто добавьте компонент LocalizedImageBinder на объект, и всё произойдёт автоматически:
[AddComponentMenu("0x_/Localization/LocalizedImageBinder")]- OnUpdateAssetавтоматически настроено на обновление- Image.sprite.
- Подписка удаляется при удалении компонента.
 
- Работает только с компонентом Image. Для других компонентов (например,RawImage) потребуется модификация скрипта.
- Динамическая привязка работает только для LocalizeSpriteEventна том же объекте.
- Устранение ручной настройки связей между LocalizeSpriteEventиImage.
- Предотвращение накопления ненужных подписок, которые могут вызывать утечки памяти или ошибки.
- Повышение удобства и автоматизация локализации спрайтов.
- При добавлении компонента LocalizedImageBinder:- Проверяется наличие LocalizeSpriteEventиImage.
- Если их нет, они добавляются автоматически.
- Настраивается связь между OnUpdateAssetиImage.sprite.
 
- Проверяется наличие 
- При удалении компонента:
- Все подписки очищаются, чтобы избежать утечек.
 
- В режиме редактора:
- Обеспечивается возможность визуального контроля через инспектор.
 
- [SelectionBase]: Выделяет объект с компонентом- LocalizedImageBinderпри клике на дочерние объекты в сцене. Это упрощает выбор объекта в сложных иерархиях.
- [DisallowMultipleComponent]: Запрещает добавлять несколько экземпляров компонента- LocalizedImageBinderна один объект, предотвращая дублирование логики и возможные ошибки.
- [ExecuteAlways]: Обеспечивает выполнение компонента как в режиме игры, так и в режиме редактора. Это полезно для автоматической настройки в редакторе.
- [RequireComponent]: Гарантирует наличие необходимых компонентов- Image,- LocalizeSpriteEventи- RectTransform, предотвращая ошибки, если какой-либо из них отсутствует.
Этот скрипт распространяется на условиях MIT License :3