BuyConfirmPanel.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class BuyConfirmPanel : PopUpPanel
  5. {
  6. public Text info;
  7. public Price price;
  8. public Button btn;
  9. // Use this for initialization
  10. void Awake ()
  11. {
  12. btn.onClick.AddListener(Confirm);
  13. }
  14. void OnDestroy()
  15. {
  16. currentPanel = null;
  17. btn.onClick.RemoveAllListeners();
  18. }
  19. private BuyItemData data;
  20. public void SetData(BuyItemData data)
  21. {
  22. this.data = data;
  23. price.SetPrice(data.GetCurrency(), data.GetPrice());
  24. }
  25. public void Confirm()
  26. {
  27. UserData userData = Session.GetInstance().myUserData;
  28. if(userData.CanBuy(data))
  29. {
  30. if(data.GetItemType() == BuyUtil.ItemType.Coin)
  31. {
  32. Session.GetInstance().GetNetworkManager().AddCoin(data.GetItemId());
  33. }
  34. else if(data.GetItemType() == BuyUtil.ItemType.Halo || data.GetItemType() == BuyUtil.ItemType.Skin)
  35. Session.GetInstance().GetNetworkManager().Buy(StringUtil.ToInt(data.GetItemId()), data.GetItemType());
  36. }
  37. Close();
  38. }
  39. private static BuyConfirmPanel currentPanel;
  40. public static BuyConfirmPanel Show(BuyItemData itemData)
  41. {
  42. if(currentPanel != null)
  43. return currentPanel;
  44. GameObject prefab = Resources.Load<GameObject>("Prefabs/UI/Shop/BuyConfirmPanel");
  45. GameObject gameObj = Instantiate<GameObject>(prefab);
  46. PopUpManager.AddToMainCanvas(gameObj);
  47. currentPanel = gameObj.GetComponent<BuyConfirmPanel>();
  48. currentPanel.SetData(itemData);
  49. return currentPanel;
  50. }
  51. }