ZCJBBuyTipsView.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. using System;
  2. using System.Collections.Generic;
  3. using cfg.GfgCfg;
  4. using UI.ActivityMain;
  5. using FairyGUI;
  6. namespace GFGGame
  7. {
  8. public class ZCJBBuyTipsView : BaseWindow
  9. {
  10. private UI_ZCJBBuyTips _ui;
  11. private string Desc;
  12. private int limitID;
  13. public override void Dispose()
  14. {
  15. if (_ui != null)
  16. {
  17. _ui.Dispose();
  18. _ui = null;
  19. }
  20. BuyTipsController.Dispose();
  21. base.Dispose();
  22. }
  23. protected override void OnInit()
  24. {
  25. base.OnInit();
  26. packageName = UI_ZCJBBuyTips.PACKAGE_NAME;
  27. _ui = UI_ZCJBBuyTips.Create();
  28. this.viewCom = _ui.target;
  29. this.viewCom.Center();
  30. this.modal = true;
  31. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  32. _ui.m_btnRight.onClick.Add(OnClickBtnSure);
  33. _ui.m_btnLeft.onClick.Add(OnClickBtnCancel);
  34. }
  35. protected override void OnShown()
  36. {
  37. base.OnShown();
  38. Desc = (string)(this.viewData as object[])[0];
  39. limitID = (int)(this.viewData as object[])[1];
  40. UpdateView();
  41. }
  42. protected override void AddEventListener()
  43. {
  44. base.AddEventListener();
  45. EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, LimitChanged);
  46. }
  47. protected override void RemoveEventListener()
  48. {
  49. base.RemoveEventListener();
  50. EventAgent.RemoveEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, LimitChanged);
  51. }
  52. private void UpdateView()
  53. {
  54. _ui.m_txtContent.text = Desc;
  55. _ui.m_txtTips.text = "(购买的次数请及时使用,次日5:00重置)";
  56. _ui.m_txtNumTips.text = string.Format("今日购买次数:{0}/{1}", RoleLimitDataManager.GetLimitData(limitID).BuyTimes,
  57. CommonDataManager.Tables.TblLimitCfg.GetOrDefault(limitID).BuyNum);
  58. UpdateDesc();
  59. }
  60. private void OnClickBtnSure()
  61. {
  62. RoleLimitSProxy.ReqBuyLimitPlayTimes(limitID, 1, 1).Coroutine();
  63. }
  64. private void LimitChanged(EventContext context = null)
  65. {
  66. if ((int)context.data != limitID)
  67. {
  68. return;
  69. }
  70. UpdateDesc();
  71. PromptController.Instance.ShowFloatTextPrompt("次数+1");
  72. }
  73. private void UpdateDesc()
  74. {
  75. LimitCfg limitcfg = CommonDataManager.Tables.TblLimitCfg.GetOrDefault(limitID);
  76. int buyCount = RoleLimitDataManager.GetLimitData(limitID).BuyTimes;
  77. int costNum = 0;
  78. if (limitcfg.MoneyBuyTimes.Count > 0)
  79. {
  80. for (int i = 0; i < limitcfg.MoneyBuyTimes.Count; i++)
  81. {
  82. int t = buyCount - limitcfg.MoneyBuyTimes[i];
  83. if (t < 0)
  84. {
  85. costNum = limitcfg.MoneyNum[i - 1];
  86. break;
  87. }
  88. else
  89. {
  90. if (i == limitcfg.MoneyBuyTimes.Count - 1)
  91. {
  92. costNum = limitcfg.MoneyNum[i];
  93. break;
  94. }
  95. else
  96. {
  97. costNum = limitcfg.ItemNum;
  98. }
  99. }
  100. }
  101. }
  102. else
  103. {
  104. costNum = CommonDataManager.Tables.TblLimitCfg.GetOrDefault(limitID).MoneyNum[0];
  105. }
  106. string name = CommonDataManager.Tables.TblItemCfg
  107. .GetOrDefault(CommonDataManager.Tables.TblLimitCfg.GetOrDefault(limitID).MoneyId).Name;
  108. string desc = string.Format("是否花费{0}{1}购买{2}次过关次数?", costNum, name, 1);
  109. _ui.m_txtNumTips.text = string.Format("今日购买次数:{0}/{1}", RoleLimitDataManager.GetLimitData(limitID).BuyTimes,
  110. CommonDataManager.Tables.TblLimitCfg.GetOrDefault(limitID).BuyNum);
  111. _ui.m_txtContent.text = desc;
  112. }
  113. private void OnClickBtnCancel()
  114. {
  115. this.Hide();
  116. }
  117. }
  118. }