SkinMenuItem.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class SkinMenuItem : MonoBehaviour {
  5. public Image icon;
  6. public Text nameTxt;
  7. public Text skinTxt;
  8. public Price price;
  9. public GameObject borderObj;
  10. public MenuUI menuUI;
  11. private SkinItemData data;
  12. public void SetData(SkinItemData data)
  13. {
  14. this.data = data;
  15. icon.sprite = data.GetIcon();
  16. nameTxt.text = CraftManager.GetInstance().GetData(data.GetCraftId()).name;
  17. skinTxt.text = data.GetName();
  18. Refresh();
  19. }
  20. public void Refresh()
  21. {
  22. price.SetPrice(data.GetCurrency(), data.GetPrice(), data.GetState());
  23. if(menuUI.battleController.GetCtrlCraft() != null && menuUI.battleController.GetCtrlCraft().GetCraftId() == data.GetCraftId())
  24. borderObj.SetActive(menuUI.battleController.GetCtrlCraft().GetSkin().ToString() == data.GetItemId());
  25. else
  26. borderObj.SetActive(false);
  27. }
  28. public void OnClick(bool isBuy)
  29. {
  30. int itemId = StringUtil.ToInt(data.GetItemId());
  31. if(!isBuy && data.GetState() == BuyUtil.ItemState.Sell && menuUI.battleController.GetCtrlCraft().GetSkin() == itemId)
  32. {
  33. return;
  34. }
  35. BattleController battleController = menuUI.battleController;
  36. Craft craft = battleController.GetCtrlCraft();
  37. if(craft != null)
  38. {
  39. GameObject landingObj = EffectUtil.CreateLanding();
  40. landingObj.transform.position = craft.position;
  41. Texture texture = SkinManager.GetInstance().GetSkinTexture(craft.GetCraftId(), itemId);
  42. craft.SetSkin(itemId, texture);
  43. }
  44. if(isBuy)
  45. {
  46. BuyItem.DealBuyItem(data);
  47. }
  48. else
  49. {
  50. if(data.GetState() == BuyUtil.ItemState.Bought)
  51. {
  52. BuyItem.DealBuyItem(data);
  53. }
  54. }
  55. }
  56. }