Нам понадобилось добавить иконку ресурса в текст. Сложность в том, что у нас несколько локаций, в каждом будет свой ресурс. То есть
<sprite name="gems_icons_3"> в пустыне – это рубин, а в другой локации это может быть мандарин или крышка от кока-колы.Я реализовал это довольно просто с помощью прокси-ассета.
1) Создал пустой
SpriteAsset, назвал его Proxy2) В
TMP Settings выставил Proxy как defaultSpriteAsset3) Добавил все нужные мне атласы с иконками в свойства локации, которую я подгружаю.
4) После загрузки мира, добавляю иконки как
fallbackSpriteAssets в Proxy:var proxy = Resources.Load<TMP_SpriteAsset>("Sprite Assets/Proxy");
proxy.fallbackSpriteAssets.Add(currentWorld.Value.FontSprites.GemsIcons);Таким образом, у меня в конкретной локации будут только иконки из этой локации, подгруженные асинхронно через Addressables. Единственный возможный минус, что не будет работать вставка символов через индекс, типа
<sprite=3> , ну и ладно.#ui #textmeshpro #addressables