//-------------------------------------------------------- // [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(); } } ItemOverdueModel model { get { return ModelCenter.Instance.GetModel(); } } 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(); break; case ItemType.Guard_1: //WindowCenter.Instance.Open(); //续费改跳转灵石商城 //WindowCenter.Instance.Open(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; } } }