//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, September 06, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
using UnityEngine.EventSystems;
|
using Snxxz.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class RoleEquipWin : Window
|
{
|
#region 成员变量
|
[SerializeField] List<EquipPlaceCell> equipPlaces = new List<EquipPlaceCell>();
|
|
[SerializeField] RawImage RoleShowBG;
|
[SerializeField]
|
private Button _starCountBtn;
|
[SerializeField]
|
private Button _equipIntensifyBtn;
|
[SerializeField]
|
private Button _oneKeySellBtn;
|
[SerializeField]
|
private Button _sortBtn; //整理
|
[SerializeField]
|
private Image _sortImage;
|
[SerializeField]
|
private Text _moneyCount;
|
[SerializeField]
|
private Text _bindDiamondCount;
|
[SerializeField]
|
private Text _flowDiamondCount;
|
[SerializeField]
|
private Text _timeDown;
|
[SerializeField] UIEffect STREffect;
|
[SerializeField] UIEffect StarsEffect;
|
[SerializeField] Button m_JadeDynasty;
|
#endregion
|
|
PlayerPackModel _playerPack;
|
PlayerPackModel playerPack {
|
get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
|
}
|
|
|
ItemTipsModel _itemTipsModel;
|
ItemTipsModel itemTipsModel {
|
get {
|
return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
|
}
|
}
|
|
private bool isUpdatePlayerLv;
|
protected override void BindController()
|
{
|
_oneKeySellBtn.onClick.AddListener(OnClickOneKeySell);
|
_sortBtn.onClick.AddListener(() => { OnClickSortBtn(); });
|
m_JadeDynasty.SetListener(() => { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.JadeDynastyEquip292); });
|
}
|
|
protected override void AddListeners()
|
{
|
|
}
|
|
protected override void OnPreOpen()
|
{
|
isUpdatePlayerLv = false;
|
UI3DModelExhibition.Instance.ShowPlayer(RoleShowBG, PlayerDatas.Instance.baseData.Job);
|
playerPack.RefreshAttrActiveAct += ControlEffect;
|
playerPack.itemCntAddEvent += PutOnEquip;
|
playerPack.itemCntReduceEvent += PutOffEquip;
|
PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerLv;
|
WindowCenter.Instance.windowBeforeCloseEvent += BeforeWindowClose;
|
GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
|
TimeDownMgr.CoolTimeData data;
|
if (TimeDownMgr.Instance.Get(TimeDownMgr.CoolTimeType.BagSort, out data))
|
{
|
data.func = RefreshTime;
|
_sortImage.SetSprite("BlackBtn");
|
_timeDown.text = Language.Get("BagWin_SortCDbtn_Text_1", Mathf.CeilToInt(data.duration - data.time));
|
_sortBtn.enabled = false;
|
}
|
else
|
{
|
_sortImage.SetSprite("SecondBtn1");
|
_timeDown.text = Language.Get("BagWin_Sortbtn_Text_1");
|
_sortBtn.enabled = true;
|
}
|
|
UIEventTrigger.Get(_starCountBtn.gameObject).OnDown = OnClickStarBtn;
|
UIEventTrigger.Get(_equipIntensifyBtn.gameObject).OnDown = OnClickEquipIntensify;
|
OnFrenshBagInfo();
|
}
|
private void BeforeWindowClose(Window window)
|
{
|
if (typeof(PetMatInfoWin).Name != window.name && typeof(ItemInfoWin).Name != window.name) return;
|
|
UI3DModelExhibition.Instance.ShowPlayer(RoleShowBG, PlayerDatas.Instance.baseData.Job);
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
SuccessConfig successConfig = SuccessConfig.Get(AchievementGoto.guideAchievementId);
|
if (successConfig != null && successConfig.Type == 95)
|
{
|
playerPack.SetJumpToOneKeySell(_oneKeySellBtn.transform);
|
}
|
|
if (playerPack.IsActiveStarAttr())
|
{
|
ControlEffect(1, true);
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
|
playerPack.itemCntAddEvent -= PutOnEquip;
|
playerPack.itemCntReduceEvent -= PutOffEquip;
|
WindowCenter.Instance.windowBeforeCloseEvent -= BeforeWindowClose;
|
PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerLv;
|
UI3DModelExhibition.Instance.StopShow();
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
|
private void UpdateSecond()
|
{
|
if (isUpdatePlayerLv)
|
{
|
for (int i = 1; i < 13; i++)
|
{
|
UpdateRoleEquip(i);
|
}
|
isUpdatePlayerLv = false;
|
}
|
}
|
|
private void ControlEffect(int type, bool isActive)
|
{
|
if (type == 0)
|
{
|
if (isActive)
|
{
|
STREffect.Play();
|
}
|
else
|
{
|
STREffect.Stop();
|
}
|
}
|
|
if (type == 1)
|
{
|
if (isActive)
|
{
|
StarsEffect.Play();
|
}
|
else
|
{
|
StarsEffect.Stop();
|
}
|
}
|
}
|
|
public void UpdateRoleEquip(int equipPlace)
|
{
|
for (int i = 0; i < equipPlaces.Count; i++)
|
{
|
var placeCell = equipPlaces[i];
|
if ((int)placeCell.equipType == equipPlace)
|
{
|
placeCell.Display(equipPlace);
|
break;
|
}
|
}
|
UI3DModelExhibition.Instance.ShowPlayer(RoleShowBG, PlayerDatas.Instance.baseData.Job);
|
}
|
|
|
public void PutOnEquip(PackType type, int index, int Id)
|
{
|
//临时条件判断
|
if (type != PackType.Equip) return;
|
|
UpdateRoleEquip(index);
|
}
|
|
public void PutOffEquip(PackType type, int place, int id)
|
{
|
if (type != PackType.Equip) return;
|
|
UpdateRoleEquip(place);
|
}
|
|
private void UpdatePlayerLv(PlayerDataRefresh type)
|
{
|
switch (type)
|
{
|
case PlayerDataRefresh.LV:
|
isUpdatePlayerLv = true;
|
break;
|
case PlayerDataRefresh.Gold:
|
case PlayerDataRefresh.GoldPaper:
|
case PlayerDataRefresh.Silver:
|
case PlayerDataRefresh.ExAttr6:
|
OnFrenshBagInfo();
|
break;
|
}
|
}
|
|
private void OnClickEquipIntensify(GameObject go)
|
{
|
WindowCenter.Instance.Open<PlayerStrengtheningLVWin>();
|
}
|
|
private void OnClickStarBtn(GameObject go)
|
{
|
WindowCenter.Instance.Open<PlayerStarNumWin>();
|
}
|
|
public void OnClickSortBtn()
|
{
|
ItemLogicUtility.Instance.SendPackResetQuest(PackType.Item);
|
TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.BagSort, 5.0f, RefreshTime);
|
_timeDown.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");
|
_timeDown.text = Language.Get("BagWin_Sortbtn_Text_1");
|
_sortBtn.enabled = true;
|
}
|
else
|
{
|
_timeDown.text = Language.Get("BagWin_SortCDbtn_Text_1", time);
|
_sortBtn.enabled = false;
|
}
|
|
}
|
public void OnFrenshBagInfo()
|
{
|
if (PlayerDatas.Instance.baseData != null)
|
{
|
_moneyCount.text = PlayerDatas.Instance.baseData.Gold.ToString();
|
_bindDiamondCount.text = PlayerDatas.Instance.baseData.GoldPaper.ToString();
|
_flowDiamondCount.text = ItemLogicUtility.Instance.OnChangeCoinsUnit(PlayerDatas.Instance.baseData.allSliver);
|
}
|
else
|
{
|
_moneyCount.text = "0";
|
_bindDiamondCount.text = "0";
|
_flowDiamondCount.text = "0";
|
}
|
|
}
|
|
private void OnClickOneKeySell()
|
{
|
if (!ItemLogicUtility.Instance.isPackResetOk) return;
|
|
if (ItemLogicUtility.Instance.GetSellItemList().Count > 0)
|
{
|
WindowCenter.Instance.Open<OneKeySellWin>();
|
}
|
else
|
{
|
ServerTipDetails.DisplayNormalTip(Language.Get("KnapS129"));
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|