使用例
using TMPro; using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private TMP_SpriteAsset m_tmpSpriteAsset; private void Awake() { TMP_Text.OnSpriteAssetRequest += OnSpriteAssetRequest; TMP_SpriteAsset OnSpriteAssetRequest( int index, string name ) { Debug.Log( $"index: {index}" ); Debug.Log( $"name: {name}" ); return name == "hoge" ? m_tmpSpriteAsset : Resources.Load<TMP_SpriteAsset>( $"{TMP_Settings.defaultSpriteAssetPath}/{name}" ) ; } } }
デフォルトだと sprite タグで使用するスプライトアセットは
Resources/Sprite Assets/ フォルダに入れておく必要があるが、
TMP_Text.OnSpriteAssetRequest を使うと
sprite タグで使用するスプライトアセットを自由に設定できるため
Resources を使わないようにできる