using UnityEngine; using UnityEngine.UI; namespace SpellBoundAR.CustomTextures.UI { [RequireComponent(typeof(Text))] public class TexturePreviewNameText : MonoBehaviour { [Header("Cache")] private Text _text; private TexturePreview _texturePreview; private void Awake() { _text = GetComponent(); _texturePreview = GetComponentInParent(); } private void OnEnable() { if (_texturePreview) _texturePreview.OnSavedTextureDataChanged += OnSavedTextureDataChanged; OnSavedTextureDataChanged(); } private void OnDisable() { if (_texturePreview) _texturePreview.OnSavedTextureDataChanged -= OnSavedTextureDataChanged; } private void OnSavedTextureDataChanged() { if (!_text) return; _text.text = _texturePreview && _texturePreview.SavedCustomTexture != null ? _texturePreview.SavedCustomTexture.Name : string.Empty; } } }