//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Saturday, December 16, 2017
|
//--------------------------------------------------------
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class ItemOverdueBehaviour : MonoBehaviour, IInGamePush
|
{
|
[SerializeField] RectTransform m_ItemOverdue;
|
[SerializeField] ItemCell m_ItemBehaviour;
|
[SerializeField] Text m_ItemName;
|
[SerializeField] Button m_Close;
|
[SerializeField] Button m_Look;
|
[SerializeField] Button m_ViewItemDetail;
|
|
|
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
ItemOverdueModel model { get { return ModelCenter.Instance.GetModel<ItemOverdueModel>(); } }
|
private void OnEnable()
|
{
|
m_Close.AddListener(CloseItemShow);
|
m_Look.AddListener(LookOverdueItem);
|
m_ViewItemDetail.AddListener(ShowItemDetails);
|
}
|
|
private void OnDisable()
|
{
|
m_Close.RemoveAllListeners();
|
m_Look.RemoveAllListeners();
|
m_ViewItemDetail.RemoveAllListeners();
|
}
|
|
public void ShowItem()
|
{
|
if (model.currentShowItem != default(ItemOverdueModel.OverdueItem))
|
{
|
m_ItemOverdue.SetActive(true);
|
DrawItem(model.currentShowItem.guid, model.currentShowItem.itemId);
|
}
|
else
|
{
|
m_ItemOverdue.SetActive(false);
|
}
|
}
|
|
private void LookOverdueItem()
|
{
|
if (model.currentShowItem != default(ItemOverdueModel.OverdueItem))
|
{
|
ItemConfig itemConfig = ItemConfig.Get(model.currentShowItem.itemId);
|
switch ((ItemType)itemConfig.Type)
|
{
|
case ItemType.VipTools:
|
WindowCenter.Instance.Open<VipOverdueWin>();
|
break;
|
case ItemType.Guard_1:
|
//WindowCenter.Instance.Open<GuardOverdueWin>();
|
//续费改跳转灵石商城
|
//WindowCenter.Instance.Open<StoreWin>(false, 4);
|
CloseItemShow();
|
break;
|
}
|
}
|
}
|
|
private void ShowItemDetails()
|
{
|
if (model.currentShowItem != default(ItemOverdueModel.OverdueItem))
|
{
|
ItemModel itemModel = playerPack.GetItemByGuid(model.currentShowItem.guid);
|
if (itemModel != null)
|
{
|
ItemTipUtility.Show(model.currentShowItem.guid, false);
|
}
|
else
|
{
|
ItemTipUtility.Show(model.currentShowItem.itemId);
|
}
|
}
|
}
|
|
private void CloseItemShow()
|
{
|
model.ReportConfirmUseItem(model.currentShowItem.guid);
|
}
|
|
private void DrawItem(string guid, int itemId)
|
{
|
var itemConfig = ItemConfig.Get(itemId);
|
m_ItemName.SetActive(true);
|
switch ((ItemType)itemConfig.Type)
|
{
|
case ItemType.VipTools:
|
if (itemId == model.VipExperirnceID)
|
{
|
m_ItemName.text = Language.Get("ItemOverdue108");
|
}
|
else if (itemId == model.VipCardID)
|
{
|
m_ItemName.SetActive(false);
|
}
|
break;
|
case ItemType.Guard_1:
|
m_ItemName.text = Language.Get("ItemOverdue107");
|
break;
|
}
|
m_ItemName.color = UIHelper.GetUIColor(itemConfig.ItemColor, true);
|
ItemModel itemModel = playerPack.GetItemByGuid(guid);
|
if (itemModel != null)
|
{
|
m_ItemBehaviour.Init(itemModel, true);
|
}
|
else
|
{
|
ItemCellModel cellModel = new ItemCellModel(itemId);
|
m_ItemBehaviour.Init(cellModel);
|
}
|
}
|
|
public int GetSiblingIndex()
|
{
|
return transform.GetSiblingIndex();
|
}
|
|
public bool IsActive()
|
{
|
return transform.gameObject.activeSelf
|
&& m_ItemOverdue.gameObject.activeSelf;
|
}
|
}
|
|
}
|