using System; using TMPro; using UnityEngine; using UnityEngine.Localization.Components; using UnityEngine.UI; namespace DDD { public class ItemDetailPanel : MonoBehaviour, IEventHandler { [SerializeField] private TextMeshProUGUI _nameText; [SerializeField] private LocalizeStringEvent _nameLocalizer; [SerializeField] private TextMeshProUGUI _descriptionText; [SerializeField] private LocalizeStringEvent _descriptionLocalizer; [SerializeField] private Image _cookwareImage; private void Start() { _nameText.text = string.Empty; _descriptionText.text = string.Empty; _cookwareImage.sprite = null; } private void OnEnable() { EventBus.Register(this); } private void OnDisable() { EventBus.Unregister(this); } public void Invoke(ItemSlotSelectedEvent evt) { Show(evt.Model); } public void Show(ItemViewModel model) { _nameLocalizer.StringReference = LocalizationManager.Instance.GetLocalizedString(model.NameKey); _descriptionLocalizer.StringReference = LocalizationManager.Instance.GetLocalizedString(model.DescriptionKey); _cookwareImage.sprite = DataManager.Instance.GetSprite(model.Id); } } }