//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, June 11, 2019
|
//--------------------------------------------------------
|
|
using UnityEngine.UI;
|
using System.Collections.Generic;
|
using vnxbqy.UI;
|
using UnityEngine;
|
using System;
|
|
public class TTLBattlePassWin : ILWindow
|
{
|
Button m_Close;
|
Button ttlLVBtn;
|
Button normalTaskBtn;
|
Button hardTaskBtn;
|
Image selectImg0;
|
Image selectImg1;
|
Image selectImg2;
|
Text lvText;
|
IntensifySmoothSlider ttlLVSlider;
|
Text ttlScoreText;
|
Button buyScore;
|
Transform ttlTaskObj;
|
Transform ttlBPObj;
|
Text scoreLimit;
|
ScrollerController missionScroller;
|
Image activeBPImg;
|
Button buyTTL;
|
TextEx orgPrice;
|
Button allAwardGet;
|
ScrollerController bpScroller;
|
Transform ttlbpcell;
|
TextEx resetTime;
|
|
bool isDelay = false;
|
|
VipModel vipModel { get { return ModelCenter.Instance.GetModelEx<VipModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
m_Close = proxy.GetWidgtEx<Button>("Button_Close");
|
ttlLVBtn = proxy.GetWidgtEx<Button>("ttlLV");
|
selectImg0 = proxy.GetWidgtEx<Image>("selectImage0");
|
normalTaskBtn = proxy.GetWidgtEx<Button>("normal");
|
selectImg1 = proxy.GetWidgtEx<Image>("selectImage1");
|
hardTaskBtn = proxy.GetWidgtEx<Button>("hard");
|
selectImg2 = proxy.GetWidgtEx<Image>("selectImage2");
|
lvText = proxy.GetWidgtEx<Text>("lvText");
|
ttlLVSlider = proxy.GetWidgtEx<IntensifySmoothSlider>("ExpSlider");
|
ttlScoreText = proxy.GetWidgtEx<Text>("ExpNum");
|
buyScore = proxy.GetWidgtEx<Button>("buyScore");
|
ttlTaskObj = proxy.GetWidgtEx<Transform>("ttlTaskObj");
|
ttlBPObj = proxy.GetWidgtEx<Transform>("ttlBPObj");
|
missionScroller = proxy.GetWidgtEx<ScrollerController>("missionScroller");
|
activeBPImg = proxy.GetWidgtEx<Image>("activeBPImg");
|
buyTTL = proxy.GetWidgtEx<Button>("buy");
|
allAwardGet = proxy.GetWidgtEx<Button>("allget");
|
bpScroller = proxy.GetWidgtEx<ScrollerController>("bpScroller");
|
ttlbpcell = proxy.GetWidgtEx<Transform>("ttlbpcell");
|
scoreLimit = proxy.GetWidgtEx<Text>("scoreLimit");
|
|
var obj = buyTTL.FindComponent("Text", "Txt_orgPrice");
|
if (obj != null)
|
orgPrice = obj as TextEx;
|
}
|
|
protected override void AddListeners()
|
{
|
m_Close.SetListener(()=> {
|
CloseWin<TTLBattlePassWin>();
|
});
|
|
ttlLVBtn.SetListener(()=> {
|
TTLBattlePassModel.Instance.selectType = 0;
|
});
|
|
normalTaskBtn.SetListener(() => {
|
TTLBattlePassModel.Instance.selectType = 1;
|
});
|
|
hardTaskBtn.SetListener(() => {
|
TTLBattlePassModel.Instance.selectType = 2;
|
});
|
|
buyScore.SetListener(() => {
|
WindowCenter.Instance.OpenIL<TTLBattlePassBuyScoreWin>();
|
});
|
|
buyTTL.SetListener(() => {
|
//WindowCenter.Instance.OpenIL<TTLBattlePassBuyWin>();
|
vipModel.CTG(TTLBattlePassModel.Instance.ttlCTGID);
|
});
|
|
allAwardGet.SetListener(() => {
|
var pack = new IL_CA544_tagCMGetTongTianLVAward();
|
pack.TTLV = 255;
|
GameNetSystem.Instance.SendInfo(pack);
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
TTLBattlePassModel.Instance.SelectEvent += SelectTabBtn;
|
TTLBattlePassModel.Instance.OnTTLInfoEvent += OnTTLInfoEvent;
|
TTLBattlePassModel.Instance.OnTaskState += OnTaskState;
|
bpScroller.OnRefreshCell += OnRefreshBPCell;
|
missionScroller.OnRefreshCell += OnRefreshTaskCell;
|
GlobalTimeEvent.Instance.secondEvent += ShowResetTime;
|
|
isDelay = false;
|
}
|
|
protected override void OnAfterOpen()
|
{
|
CreateResetTime();
|
SelectTabBtn();
|
DisPlayerTTLBP();
|
OnTaskState();
|
}
|
|
protected override void OnPreClose()
|
{
|
TTLBattlePassModel.Instance.SelectEvent -= SelectTabBtn;
|
TTLBattlePassModel.Instance.OnTTLInfoEvent -= OnTTLInfoEvent;
|
TTLBattlePassModel.Instance.OnTaskState -= OnTaskState;
|
bpScroller.OnRefreshCell -= OnRefreshBPCell;
|
missionScroller.OnRefreshCell -= OnRefreshTaskCell;
|
GlobalTimeEvent.Instance.secondEvent -= ShowResetTime;
|
}
|
|
#endregion
|
|
void CreateResetTime()
|
{
|
if (resetTime == null)
|
{
|
GameObject resetTxt = new GameObject();
|
resetTime = resetTxt.AddComponent<TextEx>();
|
Transform content = transform.Find("Content");
|
resetTime.transform.SetParent(content);
|
resetTime.rectTransform.sizeDelta = new Vector2(100, 100);
|
resetTime.transform.localPosition = new Vector3(-260, 294, 0);
|
resetTime.font = ttlScoreText.font;
|
resetTime.fontSize = 20;
|
resetTime.alignment = TextAnchor.MiddleLeft;
|
resetTime.horizontalOverflow = HorizontalWrapMode.Overflow;
|
resetTime.transform.localScale = new Vector3(1, 1, 1);
|
}
|
}
|
|
void ShowResetTime()
|
{
|
if (resetTime != null)
|
{
|
var seconds = (int)(TTLBattlePassModel.Instance.endDay - TimeUtility.ServerNow).TotalSeconds;
|
resetTime.text = Language.Get("OSActivityCoolDown") + "<color=#FFF4CD>" + TimeUtility.SecondsToDHMSCHS(seconds) + "</color>";
|
|
}
|
}
|
|
void SelectTabBtn()
|
{
|
if (TTLBattlePassModel.Instance.selectType == 0)
|
{
|
selectImg0.SetActiveIL(true);
|
selectImg1.SetActiveIL(false);
|
selectImg2.SetActiveIL(false);
|
ttlTaskObj.SetActiveIL(false);
|
ttlBPObj.SetActiveIL(true);
|
CreateBattlePassScroll();
|
}
|
else if (TTLBattlePassModel.Instance.selectType == 1)
|
{
|
selectImg0.SetActiveIL(false);
|
selectImg1.SetActiveIL(true);
|
selectImg2.SetActiveIL(false);
|
ttlTaskObj.SetActiveIL(true);
|
ttlBPObj.SetActiveIL(false);
|
CreateNormalTaskScroll();
|
}
|
else
|
{
|
selectImg0.SetActiveIL(false);
|
selectImg1.SetActiveIL(false);
|
selectImg2.SetActiveIL(true);
|
ttlTaskObj.SetActiveIL(true);
|
ttlBPObj.SetActiveIL(false);
|
CreateHardTaskScroll();
|
}
|
}
|
|
void CreateNormalTaskScroll()
|
{
|
missionScroller.Refresh();
|
for (int i = 0; i < TTLBattlePassModel.Instance.normalTaskList.Count; i++)
|
{
|
missionScroller.AddCell(ScrollerDataType.Header, i);
|
}
|
missionScroller.Restart();
|
}
|
|
void CreateHardTaskScroll()
|
{
|
missionScroller.Refresh();
|
for (int i = 0; i < TTLBattlePassModel.Instance.hardTaskList.Count; i++)
|
{
|
missionScroller.AddCell(ScrollerDataType.Header, i);
|
}
|
missionScroller.Restart();
|
}
|
|
void CreateBattlePassScroll()
|
{
|
int maxLV = ILTongTianLVConfig.GetKeys().Count - 1;
|
bpScroller.Refresh();
|
for (int i = 0; i <= maxLV; i++)
|
{
|
bpScroller.AddCell(ScrollerDataType.Header, i);
|
}
|
bpScroller.Restart();
|
|
bpScroller.m_Scorller.RefreshActiveCellViews();
|
bpScroller.JumpIndex(TTLBattlePassModel.Instance.TTLLV - 1);
|
}
|
|
void OnTTLInfoEvent()
|
{
|
DisPlayerTTLBP();
|
}
|
|
void OnRefreshBPCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetILBehaviour<TTLBattlePassCell>();
|
_cell?.Display(cell.index);
|
}
|
|
void OnRefreshTaskCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetILBehaviour<TTLTaskCell>();
|
_cell?.Display(cell.index);
|
}
|
|
|
void DisPlayerTTLBP()
|
{
|
|
lvText.text = TTLBattlePassModel.Instance.TTLLV.ToString();
|
bpScroller.m_Scorller.RefreshActiveCellViews();
|
|
var config = ILTongTianLVConfig.Get(TTLBattlePassModel.Instance.TTLLV);
|
if (config.LVUPPoint == 0)
|
{
|
ttlLVSlider.delay = 0f;
|
ttlLVSlider.stage = TTLBattlePassModel.Instance.TTLLV;
|
ttlLVSlider.value = 1;
|
buyScore.SetActiveIL(false);
|
}
|
else
|
{
|
ttlLVSlider.delay = isDelay ? 0.1f : 0f;
|
ttlLVSlider.stage = TTLBattlePassModel.Instance.TTLLV;
|
ttlLVSlider.value = (float)Math.Round((float)TTLBattlePassModel.Instance.CurPoint / config.LVUPPoint, 2, MidpointRounding.AwayFromZero);
|
buyScore.SetActiveIL(true);
|
}
|
isDelay = true;
|
|
var count = ILTongTianLVConfig.GetKeys().Count;
|
if (count - 1 == TTLBattlePassModel.Instance.TTLLV)
|
{
|
ttlScoreText.text = Language.Get("L1055");
|
}
|
else
|
{
|
ttlScoreText.text = TTLBattlePassModel.Instance.CurPoint + "/" + config.LVUPPoint;
|
}
|
activeBPImg.SetActiveIL(TTLBattlePassModel.Instance.TTLBuyState == 1);
|
buyTTL.SetActiveIL(TTLBattlePassModel.Instance.TTLBuyState == 0);
|
if (TTLBattlePassModel.Instance.TTLBuyState == 0)
|
{
|
OrderInfoConfig orderConfig;
|
vipModel.TryGetOrderInfo(TTLBattlePassModel.Instance.ttlCTGID, out orderConfig);
|
(buyTTL.FindComponent("TextEx", "TextEx") as TextEx).text = Language.Get("PriceBuy", orderConfig.PayRMBNum);
|
|
if (orgPrice != null)
|
{
|
orgPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
|
orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderConfig.m_PayRMBNum));
|
}
|
}
|
|
var ttlFix = ttlbpcell.GetILBehaviour<TTLBattlePassCell>();
|
for (int i = 0; i < count; i++)
|
{
|
var config1 = ILTongTianLVConfig.Get(i);
|
if (config1.FocucShow == 1 && config1.TTLV > TTLBattlePassModel.Instance.TTLLV)
|
{
|
ttlFix.Display(config1.TTLV, true);
|
break;
|
}
|
else if (config1.FocucShow == 1 && config1.TTLV == TTLBattlePassModel.Instance.TTLLV
|
&& count - 1 == TTLBattlePassModel.Instance.TTLLV)
|
{
|
//全开发显示最后一个
|
ttlFix.Display(config1.TTLV, true);
|
break;
|
}
|
}
|
|
ShowResetTime();
|
}
|
|
|
void OnTaskState()
|
{
|
scoreLimit.text = Language.Get("ttlBattlePass10") + " " + TTLBattlePassModel.Instance.dayScore + "/" +
|
TTLBattlePassModel.Instance.dayScoreLimit;
|
|
missionScroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
}
|