//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, July 17, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class AddUpRechargeWin : Window
|
{
|
[SerializeField] ScrollerController m_Scroller;
|
[SerializeField] Button m_CloseBtn;
|
|
|
AddUpRechargeModel model { get { return ModelCenter.Instance.GetModel<AddUpRechargeModel>(); } }
|
|
VipModel vipModel{get{ return ModelCenter.Instance.GetModel<VipModel>(); }}
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_Scroller.OnRefreshCell += OnRefreshCell;
|
//m_Recharge.SetListener(() =>
|
//{
|
// if (VersionConfig.Get().isBanShu)
|
// {
|
// SysNotifyMgr.Instance.ShowTip("FuncNoOpen_Nowaday");
|
// return;
|
// }
|
// if (FuncOpen.Instance.IsFuncOpen(113))
|
// {
|
// ModelCenter.Instance.GetModel<VipModel>().OpenVipPayUI(VipModel.VipWinType.Pay);
|
// }
|
// else
|
// {
|
// FuncOpen.Instance.ProcessorFuncErrorTip(113);
|
// }
|
//});
|
|
m_CloseBtn.onClick.AddListener(() =>
|
{
|
CloseImmediately();
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
model.onRewardRecordUpdate += OnRewardRecordUpdate;
|
model.UpdateRedpoint();
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
Display();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
model.onRewardRecordUpdate -= OnRewardRecordUpdate;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
private void OnRewardRecordUpdate()
|
{
|
m_Scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
void Display()
|
{
|
var configs = AddUpRechargeConfig.GetValues();
|
var jumpIndex = 0;
|
m_Scroller.Refresh();
|
foreach (var config in configs)
|
{
|
if (PlayerDatas.Instance.baseData.VIPLv >= config.VIPLimit)
|
{
|
m_Scroller.AddCell(ScrollerDataType.Header, config.RewardID);
|
if (model.GetAddUpRechargeState(config.RewardID) == 1)
|
{
|
jumpIndex++;
|
}
|
}
|
}
|
jumpIndex = Mathf.Min(jumpIndex, configs.Count - 1);
|
m_Scroller.Restart();
|
|
var offset = 0f;
|
m_Scroller.JumpIndex(jumpIndex, ref offset);
|
var rect = m_Scroller.mScrollRect.transform as RectTransform;
|
m_Scroller.JumpIndex(offset - rect.rect.height / 2, 0, EnhancedUI.EnhancedScroller.EnhancedScroller.TweenType.immediate);
|
}
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var rechargeCell = cell as AddUpRechargeBehaviour;
|
rechargeCell.Display(cell.index);
|
}
|
|
}
|
|
}
|
|
|
|
|