TrainTaskItem.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using ProjectBase.UI;
  2. using ShotSimulator.Train.Info;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using UnityEngine;
  6. using UnityEngine.Localization.Components;
  7. using UnityEngine.UI;
  8. namespace ShotSimulator.UI
  9. {
  10. public class TrainTaskItem : MonoBehaviour
  11. {
  12. private BaseTrainInfo m_TrainInfo;
  13. [SerializeField]
  14. private Button m_ItemButton;
  15. [SerializeField]
  16. private Image iconImage;
  17. public LocalizeStringEvent m_Localize;
  18. private void Awake()
  19. {
  20. m_ItemButton.onClick.AddListener(OnItemButtonClick);
  21. m_Localize.SetTable("LanguagesTable");
  22. }
  23. private void OnDestroy()
  24. {
  25. m_ItemButton.onClick.RemoveAllListeners();
  26. }
  27. public void InitTrainTaskItem(BaseTrainInfo info)
  28. {
  29. m_TrainInfo = info;
  30. UpdateView();
  31. }
  32. private void UpdateView()
  33. {
  34. m_Localize.SetEntry(m_TrainInfo.detail.nameID);
  35. Sprite sprite = Resources.Load<Sprite>(m_TrainInfo.detail.iconAssetPath);
  36. if (sprite != null)
  37. {
  38. iconImage.sprite = sprite;
  39. iconImage.rectTransform.sizeDelta = new Vector2(sprite.rect.width, sprite.rect.height);
  40. }
  41. }
  42. private void OnItemButtonClick()
  43. {
  44. UIManager.GetInstance().ShowUIView("TrainTaskDetailUIView", m_TrainInfo);
  45. }
  46. }
  47. }