using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//充值界面
|
public class RechargeWin : UIBase
|
{
|
[SerializeField] GroupButtonEx djq1Btn;
|
[SerializeField] GroupButtonEx djqBtn;
|
[SerializeField] GroupButtonEx goldBtn;
|
|
[SerializeField] ScrollerController djq1Scroller;
|
[SerializeField] ScrollerController djqScroller;
|
[SerializeField] ScrollerController goldScroller;
|
|
[SerializeField] Transform djqInfo;
|
[SerializeField] Transform djqInfo1;
|
|
|
List<int> _list = new List<int>();
|
protected override void InitComponent()
|
{
|
djq1Btn.AddListener(() => { OnSelectFuncType(2); });
|
djqBtn.AddListener(() => { OnSelectFuncType(0); });
|
goldBtn.AddListener(() => { OnSelectFuncType(1); });
|
}
|
|
|
protected override void OnPreOpen()
|
{
|
djq1Scroller.OnRefreshCell += OnDjq1RefreshCell;
|
djqScroller.OnRefreshCell += OnDjqRefreshCell;
|
goldScroller.OnRefreshCell += OnGoldRefreshCell;
|
RechargeManager.Instance.rechargeCountEvent += RechargeEvent;
|
|
var availableMoneyTypes = GeneralDefine.GetPayMethodAvailableMoneyTypes();
|
bool showDjq1Btn = availableMoneyTypes.Contains(97);
|
bool showDjqBtn = availableMoneyTypes.Contains(99);
|
djq1Btn.gameObject.SetActive(showDjq1Btn);
|
djqBtn.gameObject.SetActive(showDjqBtn);
|
if (!showDjq1Btn && RechargeManager.Instance.selectTabIndex == 2)
|
{
|
RechargeManager.Instance.selectTabIndex = showDjqBtn ? 0 : 1;
|
}
|
if (!showDjqBtn && RechargeManager.Instance.selectTabIndex == 0)
|
{
|
RechargeManager.Instance.selectTabIndex = showDjq1Btn ? 2 : 1;
|
}
|
|
if (RechargeManager.Instance.selectTabIndex == 2)
|
{
|
djq1Btn.SelectBtn();
|
}
|
else if (RechargeManager.Instance.selectTabIndex == 0)
|
{
|
djqBtn.SelectBtn();
|
}
|
else if (RechargeManager.Instance.selectTabIndex == 1)
|
{
|
goldBtn.SelectBtn();
|
}
|
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
djq1Scroller.OnRefreshCell -= OnDjq1RefreshCell;
|
djqScroller.OnRefreshCell -= OnDjqRefreshCell;
|
goldScroller.OnRefreshCell -= OnGoldRefreshCell;
|
RechargeManager.Instance.rechargeCountEvent -= RechargeEvent;
|
}
|
|
void RechargeEvent(int id)
|
{
|
Display();
|
}
|
|
void Display()
|
{
|
CreateScroller();
|
}
|
|
|
void CreateScroller()
|
{
|
if (RechargeManager.Instance.selectTabIndex == 2)
|
{
|
_list = RechargeManager.Instance.GetCTGIDListByType(27);
|
djq1Scroller.SetActive(true);
|
djqInfo1.SetActive(true);
|
djqScroller.SetActive(false);
|
djqInfo.SetActive(false);
|
goldScroller.SetActive(false);
|
if (djq1Scroller.GetCellTotalCount() == 0)
|
{
|
djq1Scroller.Refresh();
|
for (int i = 0; i < _list.Count; i++)
|
{
|
if (i % 3 == 0)
|
{
|
djq1Scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
djq1Scroller.Restart();
|
}
|
else
|
{
|
djq1Scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
SDKUtils.Instance.SendTraceEvent(8, "充值", "现金礼券", "2");
|
}
|
else if (RechargeManager.Instance.selectTabIndex == 0)
|
{
|
if (!GeneralDefine.GetPayMethodAvailableMoneyTypes().Contains(99))
|
{
|
djq1Scroller.SetActive(false);
|
djqInfo1.SetActive(false);
|
djqScroller.SetActive(false);
|
djqInfo.SetActive(false);
|
goldScroller.SetActive(true);
|
RechargeManager.Instance.selectTabIndex = 1;
|
return;
|
}
|
|
_list = RechargeManager.Instance.GetCTGIDListByType(17);
|
djq1Scroller.SetActive(false);
|
djqInfo1.SetActive(false);
|
djqScroller.SetActive(true);
|
djqInfo.SetActive(true);
|
goldScroller.SetActive(false);
|
if (djqScroller.GetCellTotalCount() == 0)
|
{
|
djqScroller.Refresh();
|
for (int i = 0; i < _list.Count; i++)
|
{
|
if (i % 3 == 0)
|
{
|
djqScroller.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
djqScroller.Restart();
|
}
|
else
|
{
|
djqScroller.m_Scorller.RefreshActiveCellViews();
|
}
|
SDKUtils.Instance.SendTraceEvent(8, "充值", "玄玉", "0");
|
}
|
else if (RechargeManager.Instance.selectTabIndex == 1)
|
{
|
_list = RechargeManager.Instance.GetCTGIDListByType(2);
|
djq1Scroller.SetActive(false);
|
djqInfo1.SetActive(false);
|
djqScroller.SetActive(false);
|
djqInfo.SetActive(false);
|
goldScroller.SetActive(true);
|
|
if (goldScroller.GetCellTotalCount() == 0)
|
{
|
goldScroller.Refresh();
|
for (int i = 0; i < _list.Count; i++)
|
{
|
if (i % 3 == 0)
|
{
|
goldScroller.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
goldScroller.Restart();
|
}
|
else
|
{
|
goldScroller.m_Scorller.RefreshActiveCellViews();
|
}
|
SDKUtils.Instance.SendTraceEvent(8, "充值", "元宝", "1");
|
}
|
}
|
|
|
void OnDjq1RefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as RechargeDJQLineCell;
|
_cell.Display(cell.index, _list);
|
}
|
|
void OnDjqRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as RechargeDJQLineCell;
|
_cell.Display(cell.index, _list);
|
}
|
|
void OnGoldRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as RechargeGoldLineCell;
|
_cell.Display(cell.index, _list);
|
}
|
|
|
|
|
void OnSelectFuncType(int index)
|
{
|
|
RechargeManager.Instance.selectTabIndex = index;
|
Display();
|
}
|
}
|