HaloMenuItem.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class HaloMenuItem : MonoBehaviour {
  5. public Image icon;
  6. public Text nameTxt;
  7. public Price price;
  8. public GameObject borderObj;
  9. public MenuUI menuUI;
  10. private HaloItemData data;
  11. public void SetData(HaloItemData data)
  12. {
  13. this.data = data;
  14. icon.sprite = Resources.Load<Sprite>("Textures/HaloIcon/"+data.GetItemId());
  15. nameTxt.text = data.GetName();
  16. Refresh();
  17. }
  18. public void Refresh()
  19. {
  20. price.SetPrice(data.GetCurrency(), data.GetPrice(), data.GetState());
  21. if(menuUI.battleController.GetCtrlCraft() != null)
  22. borderObj.SetActive(menuUI.battleController.GetCtrlCraft().GetHalo() == data.GetHalo());
  23. }
  24. public void OnClick(bool isBuy)
  25. {
  26. if(!isBuy && data.GetState() == BuyUtil.ItemState.Sell && menuUI.battleController.GetCtrlCraft().GetHalo() == data.GetHalo())
  27. {
  28. return;
  29. }
  30. BattleController battleController = menuUI.battleController;
  31. if(battleController.GetCtrlCraft() != null)
  32. {
  33. battleController.GetCtrlCraft().SetHalo(data.GetHalo());
  34. }
  35. if(isBuy)
  36. {
  37. BuyItem.DealBuyItem(data);
  38. }
  39. else
  40. {
  41. if(data.GetState() == BuyUtil.ItemState.Bought)
  42. {
  43. BuyItem.DealBuyItem(data);
  44. }
  45. }
  46. }
  47. }