StoreView.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. using UI.RechargeStore;
  2. using UI.CommonGame;
  3. using FairyGUI;
  4. using System.Collections.Generic;
  5. using ET;
  6. namespace GFGGame
  7. {
  8. public class StoreView : BaseWindow
  9. {
  10. private UI_StoreUI _ui;
  11. private ValueBarController _valueBarController;
  12. private List<List<string>> _arenaSubTab = new List<List<string>>();
  13. private int _curTabIndex = 0;
  14. private int _curSubTabIndex = 0;
  15. private string _curViewName = "";
  16. public override void Dispose()
  17. {
  18. if (_valueBarController != null)
  19. {
  20. _valueBarController.Dispose();
  21. _valueBarController = null;
  22. }
  23. if (_ui != null)
  24. {
  25. _ui.Dispose();
  26. }
  27. _arenaSubTab.Clear();
  28. _ui = null;
  29. base.Dispose();
  30. }
  31. protected override void OnInit()
  32. {
  33. base.OnInit();
  34. packageName = UI_StoreUI.PACKAGE_NAME;
  35. _ui = UI_StoreUI.Create();
  36. this.viewCom = _ui.target;
  37. isfullScreen = true;
  38. // _tabDic[0] = _subTabChargeDic;
  39. // _tabDic[1] = _subTabGiftBagDic;
  40. // _tabDic[2] = _subTabMonthCardDic;
  41. // _tabDic[3] = _subTabExchangeDic;
  42. // _tabDic[4] = _subTabArenaDic;
  43. // _subTabChargeDic[0] = new List<object>() { "充值", "累计充值" };//充值
  44. // _subTabGiftBagDic[0] = new List<object>() { "活动", "限时", "精选", "热销" };//礼包
  45. // _subTabMonthCardDic[0] = new List<object>() { "金卡", "黑金卡" };//月卡
  46. // _subTabExchangeDic[0] = new List<object>() { "画廊商城" };//兑换
  47. // _subTabArenaDic[0] = new List<object>();//竞技场
  48. // _subTabChargeDic[1] = new List<object>() { "RechargeStoreView", "" };//充值
  49. // _subTabGiftBagDic[1] = new List<object>() { "GiftBagBuyView", "", "", "" };//礼包
  50. // _subTabMonthCardDic[1] = new List<object>() { "", "" };//月卡
  51. // _subTabExchangeDic[1] = new List<object>() { "ItemExchangeView", "" };//兑换
  52. // _subTabArenaDic[1] = new List<object>();//竞技场
  53. // _subTabChargeDic[2] = new List<object>() { null, null };//充值
  54. // _subTabGiftBagDic[2] = new List<object>() { null, null, null, null };//礼包
  55. // _subTabMonthCardDic[2] = new List<object>() { null, null };//月卡
  56. // _subTabExchangeDic[2] = new List<object>() { null, null };//兑换
  57. // _subTabArenaDic[2] = new List<object>();//竞技场
  58. StoreTabCfg arenaTab = StoreTabCfgArray.Instance.GetCfgByfunctionId(ConstFunctionId.STORE_ARENA);
  59. _arenaSubTab.Add(new List<string>() { arenaTab.subTabArr[0][0], arenaTab.subTabArr[0].Length > 2 ? arenaTab.subTabArr[0][1] : "" });
  60. for (int i = ArenaDataManager.Instance.SeasonId; i > 0; i--)
  61. {
  62. _arenaSubTab.Add(new List<string>() { string.Format("第{0}赛季", i), "" });
  63. }
  64. _valueBarController = new ValueBarController(_ui.m_valueBar);
  65. _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("sc_beijing");
  66. _ui.m_btnBack.onClick.Add(OnClickBtnBack);
  67. _ui.m_comTab.m_c1.onChanged.Add(OnTabChange);
  68. _ui.m_listSubTab.itemRenderer = RenderListSubTabItem;
  69. _ui.m_listSubTab.onClickItem.Add(OnListSubTabClick);
  70. }
  71. protected override void AddEventListener()
  72. {
  73. base.AddEventListener();
  74. }
  75. protected override void OnShown()
  76. {
  77. base.OnShown();
  78. _valueBarController.OnShown();
  79. //this.viewData[functionId][subTabIndex]
  80. string functionId = this.viewData == null ? "" : (this.viewData as object[])[0].ToString();
  81. StoreTabCfg tabCfg = StoreTabCfgArray.Instance.GetCfgByfunctionId(functionId);
  82. _curTabIndex = tabCfg == null ? 1 : tabCfg.index;
  83. _ui.m_comTab.m_c1.selectedIndex = _curTabIndex;
  84. _ui.m_comTab.target.scrollPane.SetPercX((float)_curTabIndex / (float)StoreTabCfgArray.Instance.dataArray.Length, false);
  85. _curSubTabIndex = this.viewData == null ? 0 : (int)(this.viewData as object[])[1];
  86. if (_ui.m_listSubTab.numItems > _curSubTabIndex)
  87. {
  88. _ui.m_listSubTab.selectedIndex = _curSubTabIndex;
  89. _ui.m_listSubTab.ScrollToView(_curSubTabIndex);
  90. }
  91. }
  92. protected override void OnHide()
  93. {
  94. base.OnHide();
  95. _valueBarController.OnHide();
  96. _ui.m_comTab.m_c1.selectedIndex = 0;
  97. _ui.m_listSubTab.selectedIndex = 0;
  98. }
  99. protected override void RemoveEventListener()
  100. {
  101. base.RemoveEventListener();
  102. }
  103. private void OnClickBtnBack()
  104. {
  105. this.Hide();
  106. }
  107. private void OnTabChange()
  108. {
  109. StoreTabCfg tabCfg = StoreTabCfgArray.Instance.GetCfg(_curTabIndex);
  110. if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(tabCfg.functionId))
  111. {
  112. _ui.m_comTab.m_c1.selectedIndex = _ui.m_comTab.m_c1.previsousIndex;
  113. }
  114. _curTabIndex = _ui.m_comTab.m_c1.selectedIndex;
  115. if (_curTabIndex == 0) return;
  116. if (tabCfg.functionId == ConstFunctionId.STORE_ARENA)
  117. {
  118. _ui.m_listSubTab.numItems = _arenaSubTab.Count;
  119. }
  120. else
  121. {
  122. _ui.m_listSubTab.numItems = tabCfg.subTabArr.Length;
  123. }
  124. _ui.m_listSubTab.selectedIndex = 0;
  125. _curSubTabIndex = 0;
  126. }
  127. private void RenderListSubTabItem(int index, GObject obj)
  128. {
  129. GButton item = obj.asButton;
  130. StoreTabCfg tabCfg = StoreTabCfgArray.Instance.GetCfg(_curTabIndex);
  131. if (tabCfg.functionId == ConstFunctionId.STORE_ARENA)
  132. {
  133. item.title = _arenaSubTab[index][0];
  134. }
  135. else
  136. {
  137. item.title = tabCfg.subTabArr[index][0];
  138. }
  139. item.data = index;
  140. }
  141. private void OnListSubTabClick(EventContext context)
  142. {
  143. GObject obj = context.data as GObject;
  144. int index = (int)obj.data;
  145. StoreTabCfg tabCfg = StoreTabCfgArray.Instance.GetCfg(_curTabIndex);
  146. string viewName = tabCfg.subTabArr[index].Length > 2 ? tabCfg.subTabArr[index][1] : "";
  147. if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(viewName))
  148. {
  149. _ui.m_listSubTab.selectedIndex = _curSubTabIndex;
  150. return;
  151. }
  152. ViewManager.Hide("GFGGame." + _curViewName);
  153. if (!string.IsNullOrEmpty(viewName))
  154. {
  155. ViewManager.Show("GFGGame." + viewName, index);
  156. }
  157. _curSubTabIndex = index;
  158. _curViewName = viewName;
  159. }
  160. private void UpdateRedDot()
  161. {
  162. }
  163. }
  164. }