//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, December 05, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using TableConfig;
|
using Snxxz.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class BetterItemGetBehaviour : MonoBehaviour
|
{
|
[SerializeField] RectTransform m_ContainerBetterEquip;
|
[SerializeField] ItemCell m_EquipBehaviour;
|
[SerializeField] Text m_EquipName;
|
[SerializeField] Button m_Close;
|
[SerializeField] Text m_FunctionTitle;
|
[SerializeField] Button m_Puton;
|
[SerializeField] Button m_BetterEquipDetail;
|
ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
|
PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
|
BetterEquipGetModel model { get { return ModelCenter.Instance.GetModel<BetterEquipGetModel>(); } }
|
|
private void OnEnable()
|
{
|
m_Close.AddListener(CloseBetterEquip);
|
m_Puton.AddListener(PutOnBetterEquip);
|
m_BetterEquipDetail.AddListener(ShowBetterEquipDetails);
|
}
|
|
private void OnDisable()
|
{
|
m_Close.RemoveAllListeners();
|
m_Puton.RemoveAllListeners();
|
m_BetterEquipDetail.RemoveAllListeners();
|
}
|
|
public void ShowBetterEquip()
|
{
|
m_ContainerBetterEquip.gameObject.SetActive(false);
|
if (!string.IsNullOrEmpty(model.currentEquipGuid))
|
{
|
ItemModel betterEquip;
|
if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip))
|
{
|
DrawBetterEquip(betterEquip);
|
m_ContainerBetterEquip.gameObject.SetActive(true);
|
}
|
|
}
|
}
|
|
private void PutOnBetterEquip()
|
{
|
ItemModel betterEquip;
|
if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip))
|
{
|
var itemConfig = Config.Instance.Get<ItemConfig>(betterEquip.itemInfo.ItemID);
|
if (NewBieCenter.Instance.inGuiding)
|
{
|
playerPack.SetLookIndex(betterEquip.itemInfo.ItemGUID);
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<KnapSackWin>();
|
|
StartCoroutine(Co_Delay(model.currentEquipGuid));
|
}
|
else
|
{
|
if (itemConfig.ItemColor >= 3)
|
{
|
playerPack.SetLookIndex(betterEquip.itemInfo.ItemGUID);
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<KnapSackWin>();
|
|
if ((itemConfig.LV == 1 || itemConfig.LV == 2) && (itemConfig.EquipPlace == 1 || itemConfig.EquipPlace == 2))
|
{
|
StartCoroutine(Co_Delay(model.currentEquipGuid));
|
}
|
else
|
{
|
model.ReportConfirmBetterEquip(model.currentEquipGuid);
|
}
|
}
|
else
|
{
|
PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, model.currentEquipGuid);
|
model.ReportConfirmBetterEquip(model.currentEquipGuid);
|
}
|
}
|
|
}
|
|
}
|
|
private void ShowBetterEquipDetails()
|
{
|
ItemModel betterEquip;
|
if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip))
|
{
|
var itemConfig = Config.Instance.Get<ItemConfig>(betterEquip.itemInfo.ItemID);
|
itemTipsModel.SetItemTipsModel(PackType.rptItem, betterEquip.itemInfo.ItemGUID);
|
}
|
}
|
|
private void CloseBetterEquip()
|
{
|
model.ReportConfirmBetterEquip(model.currentEquipGuid);
|
}
|
|
private void DrawBetterEquip(ItemModel betterModel)
|
{
|
var itemConfig = Config.Instance.Get<ItemConfig>(betterModel.itemInfo.ItemID);
|
m_EquipName.text = itemConfig.ItemName;
|
m_EquipName.color = UIHelper.GetUIColor(itemConfig.ItemColor, true);
|
m_FunctionTitle.text = Language.Get(itemConfig.ItemColor >= 3 ? "GoodEquip_See" : "GoodEquip_FitUp");
|
|
m_EquipBehaviour.Init(betterModel, true);
|
}
|
|
IEnumerator Co_Delay(string _guid)
|
{
|
yield return null;
|
yield return null;
|
yield return WaitingForSecondConst.WaitMS300;
|
|
itemTipsModel.SetItemTipsModel(PackType.rptItem, _guid, false, true);
|
itemTipsModel.SetBagTipsBtn(itemTipsModel.curAttrData);
|
itemTipsModel.ShowUICtrl();
|
|
model.ReportConfirmBetterEquip(model.currentEquipGuid);
|
}
|
}
|
}
|
|
|
|
|
|