using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
public class JadeDynastyEquipWin : Window
|
{
|
[SerializeField] Text fightPowerText;
|
[SerializeField] Button decomposeBtn;
|
[SerializeField] Button sortBtn;
|
[SerializeField] Text sortText;
|
[SerializeField] Image sortImage;
|
|
[Header("诛仙装备位")]
|
[SerializeField] Button stoneAttrBtn;
|
[SerializeField] Button suitAttrBtn;
|
[SerializeField] RawImage playerModel;
|
[Header("诛仙背包")]
|
[SerializeField] ScrollerController itemCtrl;
|
[SerializeField] int initCount = 100;
|
|
PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
|
PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } }
|
JadeDynastyEquipModel equipModel { get { return ModelCenter.Instance.GetModel<JadeDynastyEquipModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
|
}
|
protected override void AddListeners()
|
{
|
decomposeBtn.AddListener(ClickDecompose);
|
stoneAttrBtn.AddListener(ClickStoneAttr);
|
suitAttrBtn.AddListener(ClickSuitAttr);
|
sortBtn.AddListener(OnClickSort);
|
}
|
|
protected override void OnPreOpen()
|
{
|
playerPack.RefreshItemCountAct += UpdateJadeDynastyItem;
|
playerPack.RefreshPackAct += UpdateJadeDynastyKnapSack;
|
SetDisplay();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
playerPack.RefreshPackAct -= UpdateJadeDynastyKnapSack;
|
playerPack.RefreshItemCountAct -= UpdateJadeDynastyItem;
|
UI3DModelExhibition.Instance.StopShow();
|
equipModel.ClearLookItemModel();
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
#endregion
|
|
private void SetDisplay()
|
{
|
CreateItemLine();
|
UpdatePlayerUI3DModel();
|
UpdateFightPower();
|
UpdateLookItem();
|
TimeDownMgr.CoolTimeData data;
|
if (TimeDownMgr.Instance.Get(TimeDownMgr.CoolTimeType.BagSort, out data))
|
{
|
data.func = RefreshTime;
|
sortImage.SetSprite("BlackBtn");
|
sortText.text = Language.Get("BagWin_SortCDbtn_Text_1", Mathf.CeilToInt(data.duration - data.time));
|
sortBtn.enabled = false;
|
}
|
else
|
{
|
sortImage.SetSprite("SecondBtn1");
|
sortText.text = Language.Get("BagWin_Sortbtn_Text_1");
|
sortBtn.enabled = true;
|
}
|
}
|
|
public void UpdateLookItem()
|
{
|
if (equipModel.jumpIndex < 0) return;
|
|
int jumpIndex = equipModel.jumpIndex;
|
jumpIndex = jumpIndex > 2 ? jumpIndex - 2 : jumpIndex;
|
itemCtrl.JumpIndex(jumpIndex);
|
itemCtrl.m_Scorller.RefreshActiveCellViews();
|
}
|
|
private void CreateItemLine()
|
{
|
itemCtrl.Refresh();
|
int line = initCount / 5;
|
for(int i = 0; i < line; i++)
|
{
|
itemCtrl.AddCell(ScrollerDataType.Header,i);
|
}
|
itemCtrl.Restart();
|
}
|
|
private void UpdateJadeDynastyKnapSack(PackType type)
|
{
|
if (type != PackType.rptJadeDynastyItem) return;
|
|
UpdateItemLine();
|
}
|
private void UpdateFightPower()
|
{
|
int fightPower = 0;
|
var singlePack = playerPack.GetSinglePackModel(PackType.rptJadeDynastyEquip);
|
if (singlePack != null)
|
{
|
var dict = singlePack.GetPackModelIndexDict();
|
foreach(var model in dict.Values)
|
{
|
fightPower += model.equipScore;
|
}
|
}
|
|
fightPowerText.text = fightPower.ToString();
|
}
|
|
private void UpdateJadeDynastyItem(PackType type, int index, int id)
|
{
|
if (type != PackType.rptJadeDynastyItem) return;
|
|
switch(type)
|
{
|
case PackType.rptJadeDynastyItem:
|
UpdateItemLine();
|
equipModel.ClearLookItemModel();
|
break;
|
case PackType.rptJadeDynastyEquip:
|
UpdatePlayerUI3DModel();
|
UpdateFightPower();
|
break;
|
}
|
}
|
|
private void UpdateItemLine()
|
{
|
itemCtrl.m_Scorller.RefreshActiveCellViews();
|
}
|
|
private void UpdatePlayerUI3DModel()
|
{
|
UI3DModelExhibition.Instance.ShowPlayer(playerModel, PlayerDatas.Instance.baseData.Job);
|
}
|
|
private void ClickSuitAttr()
|
{
|
WindowCenter.Instance.Open<JadeDynastySuitAttrWin>();
|
}
|
|
private void ClickStoneAttr()
|
{
|
|
}
|
|
public void OnClickSort()
|
{
|
modelInterface.SendPackResetQuest(PackType.rptJadeDynastyItem);
|
TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.BagSort, 5.0f, RefreshTime);
|
sortText.text = Language.Get("BagWin_SortCDbtn_Text_1", 5);
|
sortImage.SetSprite("BlackBtn");
|
sortBtn.enabled = false;
|
}
|
|
private void RefreshTime(float time)
|
{
|
if (time <= 0)
|
{
|
sortImage.SetSprite("SecondBtn1");
|
sortText.text = Language.Get("BagWin_Sortbtn_Text_1");
|
sortBtn.enabled = true;
|
}
|
else
|
{
|
sortText.text = Language.Get("BagWin_SortCDbtn_Text_1", time);
|
sortBtn.enabled = false;
|
}
|
|
}
|
|
private void ClickDecompose()
|
{
|
WindowCenter.Instance.Open<JadeDynastyDecomposeWin>();
|
}
|
|
|
}
|
}
|