StockpileView.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using TMPro;
  6. using KairoEngine.Stockpiles;
  7. namespace KairoEngine.Stockpiles.UI
  8. {
  9. public class StockpileView : MonoBehaviour
  10. {
  11. public Image iconImage;
  12. public TextMeshProUGUI ammoutText;
  13. public TextMeshProUGUI capacityText;
  14. public StockpileGroupView viewManager;
  15. public StockpilePreset stockpilePreset;
  16. private int ammount, previousAmmout, capacity, previousCapacity;
  17. private void Update()
  18. {
  19. UpdateValues();
  20. }
  21. public void Setup(StockpileGroupView viewManager, StockpilePreset stockpilePreset)
  22. {
  23. this.viewManager = viewManager;
  24. this.stockpilePreset = stockpilePreset;
  25. iconImage.sprite = this.stockpilePreset.icon;
  26. UpdateValues();
  27. }
  28. private void UpdateValues()
  29. {
  30. ammount = viewManager.manager.GetStockpileAmmount(viewManager.owner, stockpilePreset.title);
  31. capacity = viewManager.manager.GetStockpileCapacity(viewManager.owner, stockpilePreset.title);
  32. if(ammount != previousAmmout || capacity != previousCapacity)
  33. {
  34. ammoutText.text = ammount.ToString();
  35. capacityText.text = capacity.ToString();
  36. viewManager.contentSizeFitter.enabled = false;
  37. }
  38. previousAmmout = ammount;
  39. previousCapacity = capacity;
  40. }
  41. }
  42. }