ActivityHuaRongDaoEntryView.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using System.Collections;
  2. using UnityEngine;
  3. using UI.ActivityHuaRongDao;
  4. using System.Collections.Generic;
  5. using FairyGUI;
  6. namespace GFGGame
  7. {
  8. public class ActivityHuaRongDaoEntryView : BaseWindow
  9. {
  10. private UI_ActivityHuaRongDaoEntryUI _ui;
  11. public static int curLevel;
  12. private int haveTimes = 1;
  13. private List<int> IDList;
  14. protected override void OnInit()
  15. {
  16. base.OnInit();
  17. packageName = UI_ActivityHuaRongDaoEntryUI.PACKAGE_NAME;
  18. _ui = UI_ActivityHuaRongDaoEntryUI.Create();
  19. viewCom = _ui.target;
  20. isfullScreen = true;
  21. _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("quanping_moren_bg");
  22. _ui.m_btnStart.onClick.Add(OnBtnStartClick);
  23. _ui.m_btnRule.onClick.Add(OnBtnRuleClick);
  24. _ui.m_btnBack.onClick.Add(OnBtnBackClick);
  25. InitIDList();
  26. _ui.m_scrollPane.m_list.itemRenderer = RenderListReward;
  27. }
  28. public override void Dispose()
  29. {
  30. if (_ui != null)
  31. {
  32. _ui.Dispose();
  33. _ui = null;
  34. }
  35. base.Dispose();
  36. }
  37. protected override void OnShown()
  38. {
  39. base.OnShown();
  40. InitInfo();
  41. }
  42. protected override void OnHide()
  43. {
  44. base.OnHide();
  45. }
  46. protected override void AddEventListener()
  47. {
  48. base.AddEventListener();
  49. EventAgent.AddEventListener(ConstMessage.ACTIVITY_HUARONGDAO_UPDATE, InitInfo);
  50. }
  51. protected override void RemoveEventListener()
  52. {
  53. base.RemoveEventListener();
  54. EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_HUARONGDAO_UPDATE, InitInfo);
  55. }
  56. private void InitIDList()
  57. {
  58. IDList = new List<int>();
  59. HuarongRoadGame[] cfgs = HuarongRoadGameArray.Instance.dataArray;
  60. foreach (var t in cfgs)
  61. {
  62. IDList.Add(t.id);
  63. }
  64. }
  65. private void InitInfo()
  66. {
  67. _ui.m_scrollPane.m_list.numItems = IDList.Count;
  68. _ui.m_curLevel.text = curLevel.ToString();
  69. _ui.m_challengeTimes.SetVar("have", haveTimes.ToString())
  70. .SetVar("sum", HuarongRoadGameArray.Instance.GetCfg(IDList[curLevel]).comsumeLimit.ToString()).FlushVars();
  71. _ui.m_scrollPane.m_list.ResizeToFit();
  72. InitProgressWidth();
  73. ProgressAutoLocate();
  74. }
  75. private void ProgressAutoLocate()
  76. {
  77. _ui.m_scrollPane.target.scrollPane.posX
  78. = curLevel * (_ui.m_scrollPane.m_list.GetChildAt(0).width + _ui.m_scrollPane.m_list.columnGap);
  79. }
  80. private void OnBtnBackClick()
  81. {
  82. Hide();
  83. }
  84. private void OnBtnRuleClick()
  85. {
  86. }
  87. private void OnBtnStartClick()
  88. {
  89. ViewManager.Show<ActivityHuaRongDaoView>(HuarongRoadGameArray.Instance.GetCfg(IDList[curLevel]));
  90. }
  91. private void InitProgressWidth()
  92. {
  93. GProgressBar gProgressBar = _ui.m_scrollPane.m_progress;
  94. // 根据列表 初始化进度条长度
  95. float marginLeft = 149;
  96. gProgressBar.width = marginLeft + _ui.m_scrollPane.m_list.GetChildAt(_ui.m_scrollPane.m_list.numChildren - 1).position.x
  97. - _ui.m_scrollPane.m_list.GetChildAt(0).position.x;
  98. // 初始化进度条值
  99. int indexDay = curLevel;
  100. gProgressBar.value = CalculateProgressValue(indexDay, _ui.m_scrollPane.m_list.numChildren);
  101. }
  102. private double CalculateProgressValue(int indexDay, int sumDay)
  103. {
  104. int defaultLen = 18;
  105. if (indexDay == sumDay)
  106. {
  107. return 100;
  108. }
  109. if (indexDay == 1)
  110. {
  111. return defaultLen;
  112. }
  113. return defaultLen + (100 - defaultLen) / (sumDay - 1) * (indexDay - 1);
  114. }
  115. private void RenderListReward(int index, GObject item)
  116. {
  117. item.data = index;
  118. UI_reward rewardUI = UI_reward.Proxy(item);
  119. rewardUI.m_level.m_levelNum.text = (index + 1).ToString();
  120. rewardUI.m_level.m_light.SetSelectedIndex(curLevel > index ? 0 : 1);
  121. rewardUI.m_level.m_reward.touchable = (index >= curLevel);
  122. rewardUI.m_level.m_reward.data = index;
  123. rewardUI.m_level.m_reward.onClick.Add(OnClickReward);
  124. UI_reward.ProxyEnd();
  125. }
  126. private void OnClickReward(EventContext eventContext)
  127. {
  128. GObject obj = (GObject)eventContext.sender;
  129. int id = (int)obj.data;
  130. ViewManager.Show<GiftDetailView>(HuarongRoadGameArray.Instance.GetCfg(IDList[id]).bonusWinArr);
  131. }
  132. }
  133. }