//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Saturday, December 16, 2017
|
//--------------------------------------------------------
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class ItemOverdueBehaviour : MonoBehaviour
|
{
|
[SerializeField] RectTransform m_ItemOverdue;
|
[SerializeField] ItemCell m_ItemBehaviour;
|
[SerializeField] Text m_ItemName;
|
[SerializeField] Button m_Close;
|
[SerializeField] Button m_Look;
|
[SerializeField] Button m_ViewItemDetail;
|
|
ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
|
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.gameObject.SetActive(true);
|
DrawItem(model.currentShowItem.guid, model.currentShowItem.itemId);
|
}
|
else
|
{
|
m_ItemOverdue.gameObject.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.SpiritAnimal:
|
WindowCenter.Instance.Open<GuardOverdueWin>();
|
break;
|
}
|
}
|
}
|
|
private void ShowItemDetails()
|
{
|
if (model.currentShowItem != default(ItemOverdueModel.OverdueItem))
|
{
|
ItemModel itemModel = playerPack.GetItemByGuid(model.currentShowItem.guid);
|
if (itemModel != null)
|
{
|
itemTipsModel.SetItemTipsModel(itemModel.packType, itemModel.guid);
|
}
|
else
|
{
|
ItemAttrData attrData = new ItemAttrData(model.currentShowItem.itemId);
|
itemTipsModel.SetItemTipsModel(attrData);
|
}
|
}
|
}
|
|
private void CloseItemShow()
|
{
|
model.ReportConfirmUseItem(model.currentShowItem.guid);
|
}
|
|
private void DrawItem(string guid,int itemId)
|
{
|
var itemConfig = ItemConfig.Get(itemId);
|
m_ItemName.gameObject.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.gameObject.SetActive(false);
|
}
|
break;
|
case ItemType.SpiritAnimal:
|
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);
|
}
|
}
|
|
}
|
|
}
|