CardDistributionTab.cs 912 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System;
  5. using UnityEngine.UI;
  6. using TMPro;
  7. using System.Linq;
  8. public class CardDistributionTab : MonoBehaviour
  9. {
  10. [SerializeField] int MaxCount;
  11. [SerializeField] TextMeshProUGUI CountText;
  12. [SerializeField] Image Bar;
  13. public Func<CEntity_Base, bool> CardCondition = null;
  14. float maxLength = 22f;
  15. public void SetCardDistributionTab(DeckData deckData)
  16. {
  17. if(CardCondition != null)
  18. {
  19. int count = deckData.AllDeckCards().Count(CardCondition);
  20. float ratio = (float)count / MaxCount;
  21. if(ratio >= 1)
  22. {
  23. ratio = 1;
  24. }
  25. CountText.text = count.ToString();
  26. ((RectTransform)Bar.transform).sizeDelta = new Vector2(((RectTransform)Bar.transform).sizeDelta.x, maxLength * ratio);
  27. }
  28. }
  29. }