ActivityHuaRongDaoEntryView.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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. private void InitIDList()
  47. {
  48. IDList = new List<int>();
  49. HuarongRoadGame[] cfgs = HuarongRoadGameArray.Instance.dataArray;
  50. foreach (var t in cfgs)
  51. {
  52. IDList.Add(t.id);
  53. }
  54. }
  55. private void InitInfo()
  56. {
  57. _ui.m_scrollPane.m_list.numItems = IDList.Count;
  58. _ui.m_curLevel.text = curLevel.ToString();
  59. _ui.m_challengeTimes.SetVar("have", haveTimes.ToString())
  60. .SetVar("sum", HuarongRoadGameArray.Instance.GetCfg(IDList[curLevel]).comsumeLimit.ToString()).FlushVars();
  61. _ui.m_scrollPane.m_list.ResizeToFit();
  62. InitProgressWidth();
  63. _ui.m_scrollPane.m_list.ScrollToView(curLevel);
  64. }
  65. private void OnBtnBackClick()
  66. {
  67. Hide();
  68. }
  69. private void OnBtnRuleClick()
  70. {
  71. }
  72. private void OnBtnStartClick()
  73. {
  74. ViewManager.Show<ActivityHuaRongDaoView>(HuarongRoadGameArray.Instance.GetCfg(IDList[curLevel]));
  75. }
  76. private void InitProgressWidth()
  77. {
  78. GProgressBar gProgressBar = _ui.m_scrollPane.m_progress;
  79. // 根据列表 初始化进度条长度
  80. float marginLeft = 149;
  81. gProgressBar.width = marginLeft + _ui.m_scrollPane.m_list.GetChildAt(_ui.m_scrollPane.m_list.numChildren - 1).position.x
  82. - _ui.m_scrollPane.m_list.GetChildAt(0).position.x;
  83. // 初始化进度条值
  84. int indexDay = curLevel;
  85. gProgressBar.value = CalculateProgressValue(indexDay, _ui.m_scrollPane.m_list.numChildren);
  86. }
  87. private double CalculateProgressValue(int indexDay, int sumDay)
  88. {
  89. int defaultLen = 18;
  90. if (indexDay == sumDay)
  91. {
  92. return 100;
  93. }
  94. if (indexDay == 1)
  95. {
  96. return defaultLen;
  97. }
  98. return defaultLen + (100 - defaultLen) / (sumDay - 1) * (indexDay - 1);
  99. }
  100. private void RenderListReward(int index, GObject item)
  101. {
  102. item.data = index;
  103. UI_reward rewardUI = UI_reward.Proxy(item);
  104. rewardUI.m_level.m_levelNum.text = (index + 1).ToString();
  105. rewardUI.m_level.m_light.SetSelectedIndex(curLevel > index ? 0 : 1);
  106. UI_reward.ProxyEnd();
  107. }
  108. }
  109. }