//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, June 11, 2019
|
//--------------------------------------------------------
|
|
using UnityEngine.UI;
|
using System.Collections.Generic;
|
using vnxbqy.UI;
|
using UnityEngine;
|
using System;
|
|
public class TTLBattlePassBuyScoreWin : ILWindow
|
{
|
Button m_Close;
|
Text title;
|
ScrollerController scroller;
|
Button reducebtn;
|
Button addBtn;
|
Slider m_SplitSlider;
|
Text sliderNum;
|
Text buyText;
|
Button buyBtn;
|
Text price;
|
Image priceImg;
|
|
int maxTTLLV;
|
int addPoint = 0;
|
#region Built-in
|
protected override void BindController()
|
{
|
m_Close = proxy.GetWidgtEx<Button>("CloseBtn");
|
title = proxy.GetWidgtEx<Text>("title");
|
scroller = proxy.GetWidgtEx<ScrollerController>("scroller");
|
reducebtn = proxy.GetWidgtEx<Button>("Reducebtn");
|
addBtn = proxy.GetWidgtEx<Button>("AddBtn");
|
m_SplitSlider = proxy.GetWidgtEx<Slider>("SplitSlider");
|
sliderNum = proxy.GetWidgtEx<Text>("NumText");
|
buyText = proxy.GetWidgtEx<Text>("buyText");
|
buyBtn = proxy.GetWidgtEx<Button>("buyBtn");
|
price = proxy.GetWidgtEx<Text>("price");
|
priceImg = proxy.GetWidgtEx<Image>("priceImg");
|
}
|
|
protected override void AddListeners()
|
{
|
m_Close.SetListener(()=> {
|
CloseWin<TTLBattlePassBuyScoreWin>();
|
});
|
addBtn.SetListener(OnClickAddBtn);
|
reducebtn.SetListener(OnClickReduceBtn);
|
buyBtn.SetListener(ExchangeTongTianLVPoint);
|
m_SplitSlider.SetListener((float value) => { OnSplitValueChange(); });
|
}
|
|
|
protected override void OnPreOpen()
|
{
|
scroller.OnRefreshCell += OnRefreshCell;
|
maxTTLLV = ILTongTianLVConfig.GetKeys().Count - 1;
|
m_SplitSlider.minValue = 1;
|
m_SplitSlider.maxValue = maxTTLLV - TTLBattlePassModel.Instance.TTLLV;
|
m_SplitSlider.value = 1;
|
}
|
|
protected override void OnAfterOpen()
|
{
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
}
|
|
#endregion
|
|
public void OnClickAddBtn()
|
{
|
if (m_SplitSlider.value < m_SplitSlider.maxValue)
|
{
|
m_SplitSlider.value++;
|
Display();
|
}
|
}
|
|
public void OnClickReduceBtn()
|
{
|
if (m_SplitSlider.value > m_SplitSlider.minValue)
|
{
|
m_SplitSlider.value--;
|
Display();
|
}
|
}
|
|
void ExchangeTongTianLVPoint()
|
{
|
if (HeroControler.Instance.GetMoneyCntIL(TTLBattlePassModel.Instance.scoreMoneyType) < (ulong)(addPoint * TTLBattlePassModel.Instance.scoreMoneyValue))
|
{
|
WindowCenter.Instance.OpenEx<RechargeTipWin>();
|
return;
|
}
|
var pack = new IL_CA545_tagCMExchangeTongTianLVPoint();
|
pack.ExchangePoint = (uint)addPoint;
|
GameNetSystem.Instance.SendInfo(pack);
|
CloseWin<TTLBattlePassBuyScoreWin>();
|
}
|
|
void Display()
|
{
|
int addLV = (int)Mathf.Ceil(m_SplitSlider.value);
|
int buylv = addLV + TTLBattlePassModel.Instance.TTLLV;
|
TTLBattlePassModel.Instance.GetItemsByBuyScore(buylv);
|
title.text = Language.Get("ttlBattlePass6", buylv);
|
sliderNum.text = addLV.ToString();
|
buyText.text = Language.Get("ttlBattlePass7", TTLBattlePassModel.Instance.TTLLV, addLV);
|
addPoint = 0;
|
|
for (int i = TTLBattlePassModel.Instance.TTLLV; i < (m_SplitSlider.value + TTLBattlePassModel.Instance.TTLLV); i++)
|
{
|
var config = ILTongTianLVConfig.Get(i);
|
if (i == TTLBattlePassModel.Instance.TTLLV)
|
{
|
addPoint = addPoint + config.LVUPPoint - (int)TTLBattlePassModel.Instance.CurPoint;
|
}
|
else
|
{
|
addPoint += config.LVUPPoint;
|
}
|
}
|
|
price.text = (addPoint * TTLBattlePassModel.Instance.scoreMoneyValue).ToString();
|
priceImg.SetSprite("Money_Type_" + TTLBattlePassModel.Instance.scoreMoneyType);
|
|
scroller.Refresh();
|
for (int i = 0; i < TTLBattlePassModel.Instance.buyItems.Count; i++)
|
{
|
if (i % 5 == 0)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
|
scroller.Restart();
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetILBehaviour<TTLBPBuyItemCell>();
|
_cell?.Display(cell.index);
|
}
|
|
|
void OnSplitValueChange()
|
{
|
Display();
|
}
|
}
|