CraftMenuItem.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class CraftMenuItem : MonoBehaviour {
  5. public Image icon;
  6. public Text nameTxt;
  7. public Text hpTxt;
  8. public Text atkTxt;
  9. public Text rngTxt;
  10. public GameObject borderObj;
  11. public GameObject vipObj;
  12. public MenuUI menuUI;
  13. private CraftConfigData data;
  14. public void SetCraftData(CraftConfigData data)
  15. {
  16. this.data = data;
  17. icon.sprite = Resources.Load<Sprite>(data.GetIcon());
  18. nameTxt.text = data.name;
  19. hpTxt.text = data.hp.ToString();
  20. PowerData attack = PowerDataManager.GetInstance().GetData(data.attack);
  21. atkTxt.text = attack.value.ToString();
  22. rngTxt.text = attack.distance.ToString();
  23. Refresh();
  24. }
  25. public void Refresh()
  26. {
  27. if(menuUI.battleController.GetCtrlCraft() != null)
  28. borderObj.SetActive(menuUI.battleController.GetCtrlCraft().GetCraftId() == data.id);
  29. bool canSelect = Session.GetInstance().GetBattleSession().CanCraftSelectById(data.id);
  30. vipObj.SetActive(!canSelect);
  31. }
  32. public void OnClick()
  33. {
  34. BattleController battleController = menuUI.battleController;
  35. if(battleController.GetCtrlCraft() != null && battleController.GetCtrlCraft().GetCraftId() != data.id && !battleController.GetCtrlCraft().GetSwapManager().requestedSwap)
  36. {
  37. battleController.GetMessageManager().RequestSwap(battleController.GetCtrlCraft().id, data.id);
  38. battleController.GetCtrlCraft().GetSwapManager().RequestedSwap();
  39. }
  40. }
  41. public void ClickVIP()
  42. {
  43. BuyVIPPanel.Show();
  44. }
  45. }