//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, June 11, 2019
|
//--------------------------------------------------------
|
|
using UnityEngine.UI;
|
using System.Collections.Generic;
|
using vnxbqy.UI;
|
using UnityEngine;
|
using System;
|
|
public class TreasurePavilionUpgradeWin : ILWindow
|
{
|
Button m_Close;
|
Button starButton;
|
Button lvButton;
|
RedpointBehaviour starRedPoint;
|
RedpointBehaviour lvRedPoint;
|
Image starChooseImage;
|
Image lvChooseImage;
|
Button leftButton;
|
Button rightButton;
|
Transform treasurePavilionCell;
|
Transform starAttrPanel;
|
Transform lvAttrPanel;
|
TreasurePavilionUpgradeChooseModel treasurePavilionUpgradeChooseModel { get { return ModelCenter.Instance.GetModelEx<TreasurePavilionUpgradeChooseModel>(); } }
|
#region Built-in
|
protected override void BindController()
|
{
|
m_Close = proxy.GetWidgtEx<Button>("Img_Close");
|
starButton = proxy.GetWidgtEx<Button>("starButton");
|
lvButton = proxy.GetWidgtEx<Button>("LVButton");
|
starRedPoint = proxy.GetWidgtEx<RedpointBehaviour>("starRedPoint");
|
lvRedPoint = proxy.GetWidgtEx<RedpointBehaviour>("LVRedPoint");
|
starChooseImage = proxy.GetWidgtEx<Image>("starChooseImage");
|
lvChooseImage = proxy.GetWidgtEx<Image>("LVChooseImage");
|
leftButton = proxy.GetWidgtEx<Button>("leftButton");
|
rightButton = proxy.GetWidgtEx<Button>("rightButton");
|
treasurePavilionCell = proxy.GetWidgtEx<Transform>("TreasurePavilionCell");
|
starAttrPanel = proxy.GetWidgtEx<Transform>("starAttrPanel");
|
lvAttrPanel = proxy.GetWidgtEx<Transform>("lvAttrPanel");
|
}
|
|
protected override void AddListeners()
|
{
|
m_Close.SetListener(()=> {
|
CloseWin<TreasurePavilionUpgradeWin>();
|
});
|
|
starButton.SetListener(()=> {
|
TreasurePavilionModel.Instance.upgradeFuncOrder = 0;
|
DisplayPanel();
|
});
|
|
lvButton.SetListener(() => {
|
TreasurePavilionModel.Instance.upgradeFuncOrder = 1;
|
DisplayPanel();
|
});
|
|
leftButton.SetListener(() => {
|
TreasurePavilionModel.Instance.upgradeGubao = FindGubao(0);
|
DisplayByGubao();
|
});
|
|
rightButton.SetListener(() => {
|
TreasurePavilionModel.Instance.upgradeGubao = FindGubao(1);
|
DisplayByGubao();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
TreasurePavilionModel.Instance.UpdateGubaoEvent += DisplayByGubao;
|
treasurePavilionUpgradeChooseModel.UpdateInfoAction += DisplayByGubao;
|
treasurePavilionUpgradeChooseModel.ClearAllInfo();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
DisplayPanel();
|
}
|
|
protected override void OnPreClose()
|
{
|
TreasurePavilionModel.Instance.UpdateGubaoEvent -= DisplayByGubao;
|
treasurePavilionUpgradeChooseModel.UpdateInfoAction -= DisplayByGubao;
|
WindowCenter.Instance.OpenIL<TreasurePavilionWin>();
|
}
|
|
#endregion
|
|
//功能模块显示
|
void DisplayPanel()
|
{
|
if (TreasurePavilionModel.Instance.upgradeFuncOrder == 0)
|
{
|
starChooseImage.SetActiveIL(true);
|
starAttrPanel.SetActiveIL(true);
|
lvChooseImage.SetActiveIL(false);
|
lvAttrPanel.SetActiveIL(false);
|
}
|
else
|
{
|
starChooseImage.SetActiveIL(false);
|
starAttrPanel.SetActiveIL(false);
|
lvChooseImage.SetActiveIL(true);
|
lvAttrPanel.SetActiveIL(true);
|
}
|
DisplayByGubao();
|
}
|
|
void DisplayByGubao()
|
{
|
starRedPoint.redpointId = (MainRedPoint.cbgRedpoint * 10000 + TreasurePavilionModel.Instance.upgradeGubao) * 10 + 1;
|
lvRedPoint.redpointId = (MainRedPoint.cbgRedpoint * 10000 + TreasurePavilionModel.Instance.upgradeGubao) * 10 + 2;
|
var _cell = treasurePavilionCell.GetILBehaviour<TreasurePavilionCell>();
|
_cell.Display(TreasurePavilionModel.Instance.upgradeGubao);
|
|
if (TreasurePavilionModel.Instance.upgradeFuncOrder == 0)
|
{
|
var _tmpcell = starAttrPanel.GetILBehaviour<TreasurePavilionUpgradeStarCell>();
|
_tmpcell.Display(TreasurePavilionModel.Instance.upgradeGubao);
|
}
|
else
|
{
|
var _tmpcell = lvAttrPanel.GetILBehaviour<TreasurePavilionUpgradeLVCell>();
|
_tmpcell.Display(TreasurePavilionModel.Instance.upgradeGubao);
|
}
|
}
|
|
//leftRight 0左1右
|
int FindGubao(int leftRight)
|
{
|
var gubaoList = TreasurePavilionModel.Instance.GetGubaoList();
|
int index = gubaoList.IndexOf(TreasurePavilionModel.Instance.upgradeGubao);
|
if (leftRight == 0)
|
{
|
index = Math.Max(0, index - 1);
|
}
|
else
|
{
|
index = Math.Min(gubaoList.Count - 1, index + 1);
|
}
|
var gubaoInfo = TreasurePavilionModel.Instance.TryGetGubaoInfo(gubaoList[index]);
|
if (gubaoInfo.Count == 0)
|
{
|
//未激活
|
return TreasurePavilionModel.Instance.upgradeGubao;
|
}
|
|
return gubaoList[index];
|
}
|
}
|