//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Saturday, December 16, 2017 //-------------------------------------------------------- using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class ItemUseBehaviour : MonoBehaviour { [SerializeField] RectTransform m_ItemUse; [SerializeField] ItemCell m_ItemBehaviour; [SerializeField] Text m_ItemName; [SerializeField] Button m_Close; [SerializeField] Button m_Use; [SerializeField] Button m_ViewItemDetail; ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel(); } } PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel(); } } ItemUseModel model { get { return ModelCenter.Instance.GetModel(); } } private void OnEnable() { m_Close.AddListener(CloseItemShow); m_Use.AddListener(UseItem); m_ViewItemDetail.AddListener(ShowItemDetails); } private void OnDisable() { m_Close.RemoveAllListeners(); m_Use.RemoveAllListeners(); m_ViewItemDetail.RemoveAllListeners(); } public void ShowItem() { if (model.currentShowItem != default(ItemUseModel.UseItem)) { m_ItemUse.gameObject.SetActive(true); var itemModel = playerPack.GetItemModelByGUID(model.currentShowItem.guid); if (itemModel != null && itemModel.packType == PackType.rptItem) { DrawItem(itemModel); } } else { m_ItemUse.gameObject.SetActive(false); } } private void UseItem() { if (model.currentShowItem != default(ItemUseModel.UseItem)) { var itemModel = playerPack.GetItemModelByGUID(model.currentShowItem.guid); model.ReportConfirmUseItem(model.currentShowItem); if (itemModel != null && itemModel.packType == PackType.rptItem) { PackSendQuestMgr.Instance.SendUseItemQuest(ItemWinBtnType.makeUse, itemModel.itemInfo.ItemPlace); } } } private void ShowItemDetails() { if (model.currentShowItem != default(ItemUseModel.UseItem)) { itemTipsModel.SetItemTipsModel(model.currentShowItem.packType, model.currentShowItem.guid); //model.ReportConfirmPreciousItem(model.currentShowItem); } } private void CloseItemShow() { model.ReportConfirmUseItem(model.currentShowItem); } private void DrawItem(ItemModel _item) { if (_item != null) { var itemConfig = Config.Instance.Get(_item.itemInfo.ItemID); m_ItemName.text = itemConfig.ItemName; m_ItemName.color = UIHelper.GetUIColor(itemConfig.ItemColor, true); m_ItemBehaviour.Init(_item, true); } } } }